///** @file
//  String definitions for Boot Maintenance Utility.
//
//  Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
//  SPDX-License-Identifier: BSD-2-Clause-Patent
//
//**/

/=#

#langdef   en-US "English"
#langdef   fr-FR "Français"

#string STR_NULL_STRING                #language en-US  " "
                                       #language fr-FR  " "
#string STR_NONE                       #language en-US  "NONE"
                                       #language fr-FR  "NONE"
#string STR_MISSING_STRING             #language en-US  "Missing String"
                                       #language fr-FR  "Missing String"
#string STR_FORM_MAIN_TITLE            #language en-US  "Boot Maintenance Manager"
                                       #language fr-FR  "Boot Maintenance Manager"
#string STR_FORM_BOOT_SETUP_TITLE      #language en-US  "Boot Options"
                                       #language fr-FR  "Boot Options"
#string STR_BOOT_MAINT_MANAGER_HELP    #language en-US  "This selection will take you to the Boot Maintenance Manager"
                                       #language fr-FR  "This selection will take you to the Boot Maintenance Manager"
#string STR_FORM_BOOT_SETUP_HELP       #language en-US  "Modify system boot options"
                                       #language fr-FR  "Modify system boot options"
#string STR_FORM_DRIVER_SETUP_TITLE    #language en-US  "Driver Options"
                                       #language fr-FR  "Driver Options"
#string STR_FORM_DRIVER_SETUP_HELP     #language en-US  "Modify boot driver options"
                                       #language fr-FR  "Modify boot driver options"
#string STR_FORM_BOOT_ADD_TITLE        #language en-US  "Add Boot Option"
                                       #language fr-FR  "Add Boot Option"
#string STR_FORM_BOOT_ADD_HELP         #language en-US  "Add EFI Application or Removable Fs as Boot Option"
                                       #language fr-FR  "Add EFI Application or Removable Fs as Boot Option"
#string STR_FORM_BOOT_DEL_TITLE        #language en-US  "Delete Boot Option"
                                       #language fr-FR  "Delete Boot Option"
#string STR_FORM_BOOT_IMMEDIATE_HELP   #language en-US  "Will be valid immediately"
                                       #language fr-FR  "Will be valid immediately"
#string STR_FORM_BOOT_CHG_TITLE        #language en-US  "Change Boot Order"
                                       #language fr-FR  "Change Boot Order"
#string STR_FORM_DRV_ADD_TITLE         #language en-US  "Add Driver Option"
                                       #language fr-FR  "Add Driver Option"
#string STR_FORM_DRV_ADD_HELP          #language en-US  "Add .EFI Driver as Driver Option"
                                       #language fr-FR  "Add .EFI Driver as Driver Option"
#string STR_FORM_DRV_DEL_TITLE         #language en-US  "Delete Driver Option"
                                       #language fr-FR  "Delete Driver Option"
#string STR_FORM_DRV_CHG_TITLE         #language en-US  "Change Driver Order"
                                       #language fr-FR  "Change Driver Order"
#string STR_FORM_NEXT_BOOT_HELP        #language en-US  "Will be valid on next boot"
                                       #language fr-FR  "Will be valid on next boot"
#string STR_FORM_BOOT_NEXT_TITLE       #language en-US  "Set Boot Next Value"
                                       #language fr-FR  "Set Boot Next Value"
#string STR_FORM_BOOT_NEXT_HELP        #language en-US  "Modify next boot behavior"
                                       #language fr-FR  "Modify next boot behavior"
#string STR_FORM_TIME_OUT_TITLE        #language en-US  "Set Time Out Value"
                                       #language fr-FR  "Set Time Out Value"
#string STR_FORM_TIME_OUT_HELP         #language en-US  "Modify automatic boot time-out value"
                                       #language fr-FR  "Modify automatic boot time-out value"
#string STR_FORM_MEMORY_CHECK_TITLE    #language en-US  "Set Memory Check Type"
                                       #language fr-FR  "Set Memory Check Type"
#string STR_FORM_MEMORY_CHECK_HELP     #language en-US  "Modify the type of memory checking"
                                       #language fr-FR  "Modify the type of memory checking"
#string STR_FORM_UEFI_OPTIMIZED_BOOT_TITLE #language en-US "UEFI Optimized Boot"
                                           #language fr-FR "UEFI Optimized Boot"
#string STR_FORM_UEFI_OPTIMIZED_BOOT_HELP  #language en-US "Modify the UEFI Optimized Boot setting"
                                           #language fr-FR "Modify the UEFI Optimized Boot setting"
#string UEFI_OPTIMIZED_BOOT_DESCRIPTION     #language en-US "UEFI Optimized Boot"
                                           #language fr-FR "UEFI Optimized Boot"
#string UEFI_OPTIMIZED_BOOT_HELP         #language en-US "Check to enable UEFI Optimized Boot"
                                           #language fr-FR "Check to enable UEFI Optimized Boot"
#string STR_FORM_CON_MAIN_TITLE        #language en-US  "Console Options"
                                       #language fr-FR  "Console Options"
#string STR_FORM_CON_MAIN_HELP         #language en-US  "Modify system console options"
                                       #language fr-FR  "Modify system console options"
#string STR_FORM_CON_IN_TITLE          #language en-US  "Console Input Device Select"
                                       #language fr-FR  "Console Input Device Select"
#string STR_FORM_CON_IN_HELP           #language en-US  "Enable console device as ConIn"
                                       #language fr-FR  "Enable console device as ConIn"
#string STR_FORM_SET_FD_ORDER_TITLE    #language en-US  "Set Legacy Floppy Drive Order"
                                       #language fr-FR  "Set Legacy Floppy Drive Order"
#string STR_FORM_SET_HD_ORDER_TITLE    #language en-US  "Set Legacy HardDisk Drive Order"
                                       #language fr-FR  "Set Legacy HardDisk Drive Order"
#string STR_FORM_SET_CD_ORDER_TITLE    #language en-US  "Set Legacy CD-ROM Drive Order"
                                       #language fr-FR  "Set Legacy CD-ROM Drive Order"
#string STR_FORM_SET_NET_ORDER_TITLE   #language en-US  "Set Legacy NET Drive Order"
                                       #language fr-FR  "Set Legacy NET Drive Order"
#string STR_FORM_SET_BEV_ORDER_TITLE   #language en-US  "Set Legacy BEV Drive Order"
                                       #language fr-FR  "Set Legacy BEV Drive Order"
#string STR_FORM_GOTO_SETTING          #language en-US  "Go Back To Setting Page"
                                       #language fr-FR  "Go Back To Setting Page"
#string STR_COM1                       #language en-US  "COM1"
                                       #language fr-FR  "COM1"
#string STR_COM2                       #language en-US  "COM2"
                                       #language fr-FR  "COM2"
#string STR_COM_AS_CONSOLE_OPTION      #language en-US  "Select this COM port as Console"
                                       #language fr-FR  "Select this COM port as Console"
#string STR_FORM_CON_OUT_TITLE         #language en-US  "Console Output Device Select"
                                       #language fr-FR  "Console Output Device Select"
#string STR_FORM_CON_OUT_HELP          #language en-US  "Enable console device as ConOut"
                                       #language fr-FR  "Enable console device as ConOut"
#string STR_FORM_STD_ERR_TITLE         #language en-US  "Console Standard Error Device Select"
                                       #language fr-FR  "Console Standard Error Device Select"
#string STR_FORM_STD_ERR_HELP          #language en-US  "Enable console device as StdErr"
                                       #language fr-FR  "Enable console device as StdErr"
#string STR_FORM_MODE_TITLE            #language en-US  "Console Output Mode Select"
                                       #language fr-FR  "Console Output Mode Select"
#string STR_FORM_MODE_HELP             #language en-US  "Select Console Output Mode: 80x25, 100x31, etc."
                                       #language fr-FR  "Select Console Output Mode: 80x25, 100x31, etc."
#string STR_FORM_COM_TITLE             #language en-US  "COM Attribute Setup Page"
                                       #language fr-FR  "COM Attribute Setup Page"
#string STR_FORM_COM_HELP              #language en-US  "Setup ComPort BaudRate, DataBits, StopBits, Parity and TerminalType"
                                       #language fr-FR  "Setup ComPort BaudRate, DataBits, StopBits, Parity and TerminalType"
#string STR_FORM_DRV_ADD_FILE_TITLE    #language en-US  "Add Driver Option Using File"
                                       #language fr-FR  "Add Driver Option Using File"
#string STR_FORM_DRV_ADD_HANDLE_TITLE  #language en-US  "Add Driver Option Using Handle"
                                       #language fr-FR  "Add Driver Option Using Handle"
#string STR_FORM_BOOT_ADD_DESC_TITLE   #language en-US  "Modify Boot Option Description"
                                       #language fr-FR  "Modify Boot Option Description"
#string STR_FORM_DRV_ADD_DESC_TITLE    #language en-US  "Modify Driver Option Description"
                                       #language fr-FR  "Modify Driver Option Description"
#string STR_NUM_AUTO_BOOT              #language en-US  "Auto Boot Time-out"
                                       #language fr-FR  "Auto Boot Time-out"
#string STR_HLP_AUTO_BOOT              #language en-US  "Range: 0 to 65535 seconds, 0 means no wait, 65535 means waiting for key"
                                       #language fr-FR  "Range: 0 to 65535 seconds, 0 means no wait, 65535 means waiting for key"
#string STR_BOOT_NEXT                  #language en-US  "Boot Next Value"
                                       #language fr-FR  "Boot Next Value"
#string STR_BOOT_NEXT_HELP             #language en-US  "Next boot use this boot option"
                                       #language fr-FR  "Next boot use this boot option"
#string STR_LOAD_OPTION_DEVPATH        #language en-US  "This is the devicepath"
                                       #language fr-FR  "This is the devicepath"
#string STR_LOAD_OPTION_DESC           #language en-US  "Input the description"
                                       #language fr-FR  "Input the description"
#string STR_LOAD_OPTION_ACTIVE         #language en-US  "Load Option Active"
                                       #language fr-FR  "Load Option Active"
#string STR_LOAD_OPTION_FORCE_RECON    #language en-US  "Load Option Reconnect"
                                       #language fr-FR  "Load Option Reconnect"
#string STR_SAVE_AND_EXIT              #language en-US  "Commit Changes and Exit"
                                       #language fr-FR  "Commit Changes and Exit"
#string STR_NO_SAVE_AND_EXIT           #language en-US  "Discard Changes and Exit"
                                       #language fr-FR  "Discard Changes and Exit"
#string STR_CON_IN_SETUP               #language en-US  "Set Console Input Device"
                                       #language fr-FR  "Set Console Input Device"
#string STR_CON_OUT_SETUP              #language en-US  "Set Console Output Device"
                                       #language fr-FR  "Set Console Output Device"
#string STR_CON_ERR_SETUP              #language en-US  "Set Error Output Device"
                                       #language fr-FR  "Set Error Output Device"
#string STR_CON_MODE_SETUP             #language en-US  "Set Console Output Mode"
                                       #language fr-FR  "Set Console Output Mode"
#string STR_CON_COM_SETUP              #language en-US  "Set COM Attributes"
                                       #language fr-FR  "Set COM Attributes"
#string STR_COM_TERMI_TYPE             #language en-US  "Set COM Terminal Type"
                                       #language fr-FR  "Set COM Terminal Type"
#string STR_COM_FLOW_CONTROL           #language en-US  "Set COM Flow Control"
                                       #language fr-FR  "Set COM Flow Control"
#string STR_COM_BAUD_RATE              #language en-US  "Set COM Baud Rate"
                                       #language fr-FR  "Set COM Baud Rate"
#string STR_COM_DATA_BITS              #language en-US  "Set COM Data Bits"
                                       #language fr-FR  "Set COM Data Bits"
#string STR_COM_PARITY                 #language en-US  "Set COM Parity"
                                       #language fr-FR  "Set COM Parity"
#string STR_COM_STOP_BITS              #language en-US  "Set COM Stop Bits"
                                       #language fr-FR  "Set COM Stop Bits"
#string STR_COM_BAUD_RATE_0            #language en-US  "115200"
                                       #language fr-FR  "115200"
#string STR_COM_BAUD_RATE_1            #language en-US  "57600"
                                       #language fr-FR  "57600"
#string STR_COM_BAUD_RATE_2            #language en-US  "38400"
                                       #language fr-FR  "38400"
#string STR_COM_BAUD_RATE_3            #language en-US  "19200"
                                       #language fr-FR  "19200"
#string STR_COM_BAUD_RATE_4            #language en-US  "9600"
                                       #language fr-FR  "9600"
#string STR_COM_BAUD_RATE_5            #language en-US  "7200"
                                       #language fr-FR  "7200"
#string STR_COM_BAUD_RATE_6            #language en-US  "4800"
                                       #language fr-FR  "4800"
#string STR_COM_BAUD_RATE_7            #language en-US  "3600"
                                       #language fr-FR  "3600"
#string STR_COM_BAUD_RATE_8            #language en-US  "2400"
                                       #language fr-FR  "2400"
#string STR_COM_BAUD_RATE_9            #language en-US  "2000"
                                       #language fr-FR  "2000"
#string STR_COM_BAUD_RATE_10           #language en-US  "1800"
                                       #language fr-FR  "1800"
#string STR_COM_BAUD_RATE_11           #language en-US  "1200"
                                       #language fr-FR  "1200"
#string STR_COM_BAUD_RATE_12           #language en-US  "600"
                                       #language fr-FR  "600"
#string STR_COM_BAUD_RATE_13           #language en-US  "300"
                                       #language fr-FR  "300"
#string STR_COM_BAUD_RATE_14           #language en-US  "150"
                                       #language fr-FR  "150"
#string STR_COM_BAUD_RATE_15           #language en-US  "134"
                                       #language fr-FR  "134"
#string STR_COM_BAUD_RATE_16           #language en-US  "110"
                                       #language fr-FR  "110"
#string STR_COM_BAUD_RATE_17           #language en-US  "75"
                                       #language fr-FR  "75"
#string STR_COM_BAUD_RATE_18           #language en-US  "50"
                                       #language fr-FR  "50"
#string STR_COM_DATA_BITS_0            #language en-US  "5"
                                       #language fr-FR  "5"
#string STR_COM_DATA_BITS_1            #language en-US  "6"
                                       #language fr-FR  "6"
#string STR_COM_DATA_BITS_2            #language en-US  "7"
                                       #language fr-FR  "7"
#string STR_COM_DATA_BITS_3            #language en-US  "8"
                                       #language fr-FR  "8"
#string STR_COM_PAR_0                  #language en-US  "None"
                                       #language fr-FR  "None"
#string STR_COM_PAR_1                  #language en-US  "Even"
                                       #language fr-FR  "Even"
#string STR_COM_PAR_2                  #language en-US  "Odd"
                                       #language fr-FR  "Odd"
#string STR_COM_PAR_3                  #language en-US  "Mark"
                                       #language fr-FR  "Mark"
#string STR_COM_PAR_4                  #language en-US  "Space"
                                       #language fr-FR  "Space"
#string STR_COM_STOP_BITS_0            #language en-US  "One"
                                       #language fr-FR  "One"
#string STR_COM_STOP_BITS_1            #language en-US  "One And A Half"
                                       #language fr-FR  "One And A Half"
#string STR_COM_STOP_BITS_2            #language en-US  "Two"
                                       #language fr-FR  "Two"
#string STR_COM_TYPE_0                 #language en-US  "PC_ANSI"
                                       #language fr-FR  "PC_ANSI"
#string STR_COM_TYPE_1                 #language en-US  "VT_100"
                                       #language fr-FR  "VT_100"
#string STR_COM_TYPE_2                 #language en-US  "VT_100_PLUS"
                                       #language fr-FR  "VT_100_PLUS"
#string STR_COM_TYPE_3                 #language en-US  "VT_UTF8"
                                       #language fr-FR  "VT_UTF8"
#string STR_COM_TYPE_4                 #language en-US  "TTY_TERM"
                                       #language fr-FR  "TTY_TERM"
#string STR_COM_TYPE_5                 #language en-US  "LINUX"
                                       #language fr-FR  "LINUX"
#string STR_COM_TYPE_6                 #language en-US  "XTERM_R6"
                                       #language fr-FR  "XTERM_R6"
#string STR_COM_TYPE_7                 #language en-US  "VT_400"
                                       #language fr-FR  "VT_400"
#string STR_COM_TYPE_8                 #language en-US  "SCO"
                                       #language fr-FR  "SCO"
#string STR_RESET                      #language en-US  "Reset System"
                                       #language fr-FR  "Reset System"
#string STR_FORM_GOTO_MAIN             #language en-US  "Go Back To Main Page"
                                       #language fr-FR  "Go Back To Main Page"
#string STR_BOOT_FROM_FILE             #language en-US  "Boot From File"
                                       #language fr-FR  "Boot From File"
#string STR_BOOT_FROM_FILE_HELP        #language en-US  "Boot system from a file or device"
                                       #language fr-FR  "Boot system from a file or device"
#string STR_OPTIONAL_DATA              #language en-US  "Input Optional Data"
                                       #language fr-FR  "Input Optional Data"
#string STR_CHANGE_ORDER               #language en-US  "Change the order"
                                       #language fr-FR  "Change the order"
#string STR_BOOT_LEGACY                #language en-US  "Boot Legacy System"
                                       #language fr-FR  "Boot Legacy System"
#string STR_BOOT_LEGACY_HELP           #language en-US  "Supports boot from legacy FD, HD, CD, PCMCIA, USB, and Network"
                                       #language fr-FR  "Supports boot from legacy FD, HD, CD, PCMCIA, USB, and Network"
#string STR_BOOT_LEGACY_FLOPPY         #language en-US  "Boot From Floppy"
                                       #language fr-FR  "Boot From Floppy"
#string STR_BOOT_LEGACY_HARDDRIVE      #language en-US  "Boot From Hard Drive"
                                       #language fr-FR  "Boot From Hard Drive"
#string STR_BOOT_LEGACY_CDROM          #language en-US  "Boot From CD Rom"
                                       #language fr-FR  "Boot From CD Rom"
#string STR_BOOT_LEGACY_PCMCIA         #language en-US  "Boot From PCMCIA"
                                       #language fr-FR  "Boot From PCMCIA"
#string STR_BOOT_LEGACY_USB            #language en-US  "Boot From USB Device"
                                       #language fr-FR  "Boot From USB Device"
#string STR_BOOT_LEGACY_NETWORK        #language en-US  "Boot From Network"
                                       #language fr-FR  "Boot From Network"
#string STR_DISABLE_LEGACY_DEVICE      #language en-US  "Disabled"
                                       #language fr-FR  "Disabled"
#string STR_FILE_EXPLORER_TITLE        #language en-US  "File Explorer"
                                       #language fr-FR  "File Explorer"
#string STR_OUT_OF_BAND_PORT           #language fr-FR  "Out-Of-Band Mgmt Port"
                                       #language en-US  "Out-Of-Band Mgmt Port"
#string STR_HARDWARE_FLOW_CONTROL      #language fr-FR  "Hardware"
                                       #language en-US  "Hardware"
#string STR_NONE_FLOW_CONTROL          #language fr-FR  "None"
                                       #language en-US  "None"
//
// BugBug : need someone to translate these strings to french
//
