// /**
//
// Copyright (c) 2005 - 2017, Intel Corporation. All rights reserved.<BR>
// (C) Copyright 2014-2015 Hewlett-Packard Development Company, L.P.<BR>
// (C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP<BR>
// This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php
//
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
//
// Module Name:
//
// UefiShellDebug1CommandsLib.uni
//
// Abstract:
//
// String definitions for UEFI Shell 2.0 Debug1 profile SmBiosView command
//
//
// **/
/=#
#langdef   en-US "english"
#string STR_SMBIOSVIEW_EVENTLOGINFO_ACCESS_METHOD               #language en-US "Access method: "
#string STR_SMBIOSVIEW_EVENTLOGINFO_ONE_EIGHT_BIT               #language en-US "Indexed I/O: 1 8-bit index port, 1 8-bit data port\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_TWO_EIGHT_BITS              #language en-US "Indexed I/O: 2 8-bit index ports, 1 8-bit data port\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_ONE_SIXTEEN_BIT             #language en-US "Indexed I/O: 1 16-bit index port, 1 8-bit data port\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_MEM_MAPPED_PHYS             #language en-US "Memory-mapped physical 32-bit address\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_VIA_GENERAL           #language en-US "Available via General-Purpose NonVolatile Data functions\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_FUTURE_ASSIGN     #language en-US "Available for future assignment via this specification\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_BIOS_VENDOR_OEM             #language en-US "BIOS Vendor/OEM-specific \r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_LOG_STATUS                  #language en-US "Log Status: "
#string STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_VALID              #language en-US "Log area valid\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_FULL               #language en-US "Log area full\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_NOT_FULL           #language en-US "Log area not full\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_RES_BITS_NOT_ZERO           #language en-US "Reserved bits not zero - 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER_FORMAT           #language en-US "Log Header Format: \r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_NO_HEADER                   #language en-US "No Header\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_TYPE_LOG_HEADER             #language en-US "Type 1 log header\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_FUTURE            #language en-US "Available for future\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_BIOS_VENDOR                 #language en-US "BIOS Vendor/OEM-specific format\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER_LEN              #language en-US "Log Header Len: "
#string STR_SMBIOSVIEW_EVENTLOGINFO_ONE_VAR_D                   #language en-US " %d\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_THIS_RECORD_READ            #language en-US "This record has been read\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_THIS_RECORD_NOT_READ        #language en-US "This record has not been read\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_SYSTEM_EVENT_LOG            #language en-US "System Event Log Header Type1 Format:\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_OEM_RESERVED                #language en-US "OEM Reserved:\r\n0x%x 0x%x 0x%x 0x%x 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_MULTIPLE_EVENT_TIME         #language en-US "Multiple Event Time Window: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_MULTIPLE_EVENT_COUNT        #language en-US "Multiple Event Count Increment: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_PREBOOT_ADDRESS             #language en-US "Pre-boot Event Log Reset - CMOS Address: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_PREBOOT_INDEX               #language en-US "Pre-boot Event Log Reset - CMOS Bit Index: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_CHECKSUM_STARTING_OFF       #language en-US "CMOS Checksum - Starting Offset: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_CHECKSUN_BYTE_COUNT         #language en-US "CMOS Checksum - Byte Count: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_RESERVED                    #language en-US "Reserved: 0x%x 0x%x 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_HEADER_REVISION             #language en-US "HeaderRevision: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER                  #language en-US "\r\nLog Header: "
#string STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FUTURE_ASSIGN         #language en-US "Available for future assignment via this specification\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_NO_STD_FORMAT               #language en-US "No standard format data is available\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_SMBIOS_STRUCT_ASSOC         #language en-US "SMBIOS structure associated with the hardware element that failed\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_STRUCT_HANDLE               #language en-US "Structure handle = 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_MULT_EVENT_COUNTER          #language en-US "multiple-event counter: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_UNUSED_AVAIL_FOR_ASSIGN     #language en-US "Unused, available for assignment by this specification\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_SYSTEM            #language en-US "Available for system- and OEM-specific assignments\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_SYSTEM_EVENT_LOG_2          #language en-US "\r\nSystem Event Log records:\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_DATE                        #language en-US "Date/Time: "
#string STR_SMBIOSVIEW_EVENTLOGINFO_ERROR                       #language en-US "error"
#string STR_SMBIOSVIEW_EVENTLOGINFO_TIME_SIX_VARS               #language en-US "%02x/%02x/%02x, %x:%x:%x\r\n"
#string STR_SMBIOSVIEW_LIBSMBIOSVIEW_CANNOT_GET_TABLE           #language en-US "Cannot get SMBIOS Table\r\n"
#string STR_SMBIOSVIEW_LIBSMBIOSVIEW_GET_TABLE_ERROR            #language en-US "Get SMBIOS Table error - %r\r\n"
#string STR_SMBIOSVIEW_LIBSMBIOSVIEW_NO_BUFF_LEN_SPEC           #language en-US " Get SMBIOS Structure, no buffer or length specified!\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_DUMP                           #language en-US "Dump "
#string STR_SMBIOSVIEW_PRINTINFO_SIZE                           #language en-US "\r\nsize=%d:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SMBIOSTABLE_NULL               #language en-US "SMBiosTable is NULL!\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ENTRY_POINT_SIGN               #language en-US "%HSMBIOS Entry Point Structure:%N\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_64_BIT_ENTRY_POINT_SIGN        #language en-US "%HSMBIOS 3.0 (64-bit) Entry Point Structure:%N\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BCD_REVISION                   #language en-US "SMBIOS BCD Revision:  0x%x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_DOCREV                         #language en-US "SMBIOS Docrev:        0x%x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_NUMBER_STRUCT                  #language en-US "Number of Structures: %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MAX_STRUCT_SIZE                #language en-US "Max Struct size:      %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TABLE_ADDR                     #language en-US "Table Address:        0x%p\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TABLE_LENGTH                   #language en-US "Table Length:         %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TABLE_MAX_SIZE                 #language en-US "Table Max Size:       %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ANCHOR_STR                     #language en-US "Anchor String:        %a\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_EPS_CHECKSUM                   #language en-US "EPS Checksum:         0x%x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ENTRY_POINT_LEN                #language en-US "Entry Point Len:      %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_VERSION                        #language en-US "Version:              %d.%d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MAJOR_VERSION                  #language en-US "Major version:        %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MINOR_VERSION                  #language en-US "Minor version:        %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ENTRY_POINT_REVISION           #language en-US "Entry Point revision: 0x%x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_FORMATTED_AREA_NONE            #language en-US "Formatted Area:        None\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_FORMATTED_AREA                 #language en-US "Formatted Area:  \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTER_ACHOR                    #language en-US "Inter Anchor:         %a\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTER_CHECKSUM                 #language en-US "Inter Checksum:       0x%x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_FORMAT_PART_LEN                #language en-US "Format part Len : %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_STRUCT_HANDLE                  #language en-US "Structure Handle: %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BOOTUP_STATE                   #language en-US "Bootup state "
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_STATE             #language en-US "Power Supply State "
#string STR_SMBIOSVIEW_PRINTINFO_THERMAL_STATE                  #language en-US "Thermal state "
#string STR_SMBIOSVIEW_PRINTINFO_SECURITY_STATUS                #language en-US "Security Status "
#string STR_SMBIOSVIEW_PRINTINFO_SUPOPRT                        #language en-US "Support "
#string STR_SMBIOSVIEW_PRINTINFO_CURRENT                        #language en-US "Current "
#string STR_SMBIOSVIEW_PRINTINFO_INSTALLED                      #language en-US "Installed "
#string STR_SMBIOSVIEW_PRINTINFO_ENABLED                        #language en-US "Enabled "
#string STR_SMBIOSVIEW_PRINTINFO_EXTERNAL                       #language en-US "External "
#string STR_SMBIOSVIEW_PRINTINFO_DESC_STRING                    #language en-US "Description String: "
#string STR_SMBIOSVIEW_PRINTINFO_SUPOPRTED_EVENT                #language en-US "Supported Event Log Type Descriptors %d:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ACCESS_METHOD_NOT_SUPOPRTED    #language en-US "Access Method %d has not supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_STRUCT_TYPE31                  #language en-US "This structure is Type31, reserved by BIS (Boot Integrity Services)\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MEM_DEVICE                     #language en-US "Memory Device %d:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_DEV_LOAD                       #language en-US "Device Load: 0x%02x,"
#string STR_SMBIOSVIEW_PRINTINFO_DEV_HANDLE                     #language en-US "Device Handle: 0x%04x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INACTIVE_STRUCT                #language en-US "Inactive structure --- Needn't interpret it.\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_THIS_STRUCT_END_TABLE          #language en-US "This structure indicates the End-of-table!\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_STRUCT_TYPE_UNDEFINED          #language en-US "Structure Type undefined!\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR                      #language en-US "BIOS Characteristics: \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RESERVED_BIT                   #language en-US "Reserved bit\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UNKNOWN_BIT                    #language en-US "Unknown bit\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR_NOT_SUPPORTED        #language en-US "BIOS Characteristics Not Supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ISA_SUPPORTED                  #language en-US "ISA is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MSA_SUPPORTED                  #language en-US "MSA is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_EISA_SUPPORTED                 #language en-US "EISA is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PCI_SUPPORTED                  #language en-US "PCI is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PC_CARD_SUPPORTED              #language en-US "PC Card(PCMCIA) is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PLUG_PLAY_SUPPORTED            #language en-US "Plug and play is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_APM_SUPPORTED                  #language en-US "APM is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_UPGRADEABLE               #language en-US "BIOS is Upgradeable(FLASH)\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_SHADOWING                 #language en-US "BIOS shadowing is allowed\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_VESA_SUPPORTED                 #language en-US "VL-VESA is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ECSD_SUPPORT                   #language en-US "ESCD support is available\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BOOT_FORM_CD_SUPPORTED         #language en-US "Boot form CD is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SELECTED_BOOT_SUPPORTED        #language en-US "Selectable Boot is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_ROM_SOCKETED              #language en-US "BIOS ROM is socketed\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BOOT_FROM_PC_CARD              #language en-US "Boot From PC Card(PCMCIA)is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_EDD_ENHANCED_DRIVER            #language en-US "EDD (Enhanced Disk Driver) Specification is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_JAPANESE_FLOPPY_NEC            #language en-US "Int 13h - Japanese Floppy for NEC 9800 1.2mb (3.5\",1k Bytes/Sector, 360 RPM) is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_JAPANESE_FLOPPY_TOSHIBA        #language en-US "Int 13h - Japanese Floppy for Toshiba 1.2mn (3.5\", 360 RPM) is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_FLOPPY_SERVICES_SUPPORTED      #language en-US "Int 13h - 5.25\"/360KB Floppy Services are supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ONE_POINT_TWO_MB               #language en-US "Int 13h - 5.25\"/1.2MB Floppy services are supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_720_KB                         #language en-US "Int 13h - 3.5\"/720KB Floppy services are supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TWO_POINT_EIGHT_EIGHT_MB       #language en-US "Int 13h - 3.5\"/2.88MB Floppy services are supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PRINT_SCREEN_SUPPORT           #language en-US "Int 5h, Print screen Services is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_KEYBOARD_SERV_SUPPORT          #language en-US "Int 9h, 8042 Keyboard services are supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SERIAL_SERVICES_SUPPORT        #language en-US "Int 14h, Serial Services are supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PRINTER_SERVICES_SUPPORT       #language en-US "Int 17h, Printer services are supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MONO_VIDEO_SUPPORT             #language en-US "Int 10h, CGA/Mono Video services are supported2\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_NEC_PC_98                      #language en-US "NEC PC-98\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BITS_32_47                     #language en-US " Bits 32:47 are reserved for BIOS Vendor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BITS_48_64                     #language en-US " Bits 48:64 are reserved for System Vendor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR_EXTENSION            #language en-US "BIOS Characteristics Extension Byte1:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ACPI_SUPPORTED                 #language en-US "ACPI supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_USB_LEGACY_SUPPORTED           #language en-US "USB Legacy is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AGP_SUPPORTED                  #language en-US "AGP is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_I2O_BOOT_SUPPORTED             #language en-US "I2O boot is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_LS_120_BOOT_SUPPORTED          #language en-US "LS-120 boot is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ATAPI_ZIP_DRIVE                #language en-US "ATAPI ZIP Drive boot is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_1394_BOOT_SUPPORTED            #language en-US "1394 boot is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SMART_BATTERY_SUPPORTED        #language en-US "Smart battery supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR_EXTENSION_2          #language en-US "BIOS Characteristics Extension Byte2:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_BOOT_SPEC_SUPP            #language en-US "BIOS Boot Specification supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_FUNCTION_KEY_INIT              #language en-US "Function key-initiated Network Service boot supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ENABLE_TAR_CONT_DIST           #language en-US "Enable Targeted Content Distribution\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UEFI_SPEC_SUPPORT              #language en-US "UEFI Specification is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_VIRTUAL_MACHINE                #language en-US "The SMBIOS table describes a virtual machine\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BITS_RSVD_FOR_FUTURE           #language en-US " Bits %d:7 are reserved for future assignment\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY               #language en-US "Processor Family: "
#string STR_SMBIOSVIEW_PRINTINFO_OTHER                          #language en-US "Other\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UNKNOWN                        #language en-US "Unknown\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL386_PROCESSOR             #language en-US "Intel386(TM) Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL486_PROCESSOR             #language en-US "Intel486(TM) Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PENTIUM_PROC_FAMILY            #language en-US "Pentium(R) Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PENTIUM_PRO_PROC               #language en-US "Pentium(R) Pro processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PENTIUM_II_PROC                #language en-US "Pentium(R) II processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PENTIUM_PROC_MMX               #language en-US "Pentium(R) processor with MMX(TM) technology\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CELERON_PROC                   #language en-US "Celeron(TM) processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PENTIUM_XEON_PROC              #language en-US "Pentium(R) II Xeon(TM) processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PENTIUM_III_PROC               #language en-US "Pentium(R) III Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_M1_FAMILY                      #language en-US "M1 Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_K5_FAMILY                      #language en-US "K5 Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_PC_FAMILY                #language en-US "Power PC Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_PC_601                   #language en-US "Power PC 601\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_PC_603                   #language en-US "Power PC 603\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_PC_603_PLUS              #language en-US "Power PC 603+\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_PC_604                   #language en-US "Power PC 604\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ALPHA_FAMILY_2                 #language en-US "Alpha Family 2\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE_DUO         #language en-US "Intel(R) Core(TM) Duo processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE_DUO_MOBILE  #language en-US "Intel(R) Core(TM) Duo mobile processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE_SOLO_MOBILE #language en-US "Intel(R) Core(TM) Solo mobile processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_ATOM             #language en-US "Intel(R) Atom(TM) processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_OPTERON_QUAD_CORE  #language en-US "Quad-Core AMD Opteron(TM) Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_OPTERON_THIRD_GENERATION  #language en-US "Third-Generation AMD Opteron(TM) Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_PHENOM_FX_QUAD_CORE  #language en-US "AMD Phenom(TM) FX Quad-Core Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_PHENOM_X4_QUAD_CORE  #language en-US "AMD Phenom(TM) X4 Quad-Core Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_PHENOM_X2_DUAL_CORE  #language en-US "AMD Phenom(TM) X2 Dual-Core Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_ATHLON_X2_DUAL_CORE  #language en-US "AMD Athlon(TM) X2 Dual-Core Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_3200_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 3200 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_3000_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 3000 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_5300_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 5300 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_5100_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 5100 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_5000_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 5000 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_LV_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor LV\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_ULV_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor ULV\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7100_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 7100 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_5400_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 5400 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_5200_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 5200 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7200_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 7200 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7300_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 7300 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7400_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 7400 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7400_SERIES_MULTI_CORE  #language en-US "Multi-Core Intel(R) Xeon(R) processor 7400 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE2_SOLO  #language en-US "Intel(R) Core(TM)2 Solo processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE2_EXTREME  #language en-US "Intel(R) Core(TM)2 Extreme processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE2_QUAD  #language en-US "Intel(R) Core(TM)2 Quad processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE2_EXTREME_MOBILE  #language en-US "Intel(R) Core(TM)2 Extreme mobile processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE2_DUO_MOBILE  #language en-US "Intel(R) Core(TM)2 Duo mobile processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE2_SOLO_MOBILE  #language en-US "Intel(R) Core(TM)2 Solo mobile processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE_I7  #language en-US "Intel(R) Core(TM) i7 processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CELERON_DUAL_CORE  #language en-US "Dual-Core Intel(R) Celeron(R) processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_MULTI_CORE  #language en-US "Multi-Core Intel(R) Xeon(R) processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_3_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 3xxx Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_3_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 3xxx Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_5_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 5xxx Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_5_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 5xxx Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 7xxx Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 7xxx Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7_SERIES_MULTI_CORE  #language en-US "Multi-Core Intel(R) Xeon(R) processor 7xxx Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_OPTERON_3000_SERIES        #language en-US "AMD Opteron(TM) 3000 Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_SEMPRON_II                 #language en-US "AMD Sempron(TM) II Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_FX_SERIES                  #language en-US "AMD FX(TM) Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_Z_SERIES                   #language en-US "AMD Z-Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_R_SERIES                   #language en-US "AMD R-Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_OPTERON_4300_SERIES        #language en-US "AMD Opteron(TM) 4300 Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_OPTERON_6300_SERIES        #language en-US "AMD Opteron(TM) 6300 Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_OPTERON_3300_SERIES        #language en-US "AMD Opteron(TM) 3300 Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_OPTERON_FIREPRO_SERIES     #language en-US "AMD FirePro(TM) Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_EMBEDDED_OPTERON_QUAD_CORE  #language en-US "Embedded AMD Opteron(TM) Quad-Core Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_PHENOM_TRIPLE_CORE  #language en-US "AMD Phenom(TM) Triple-Core Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_TURION_ULTRA_DUAL_CORE_MOBILE  #language en-US "AMD Turion(TM) Ultra Dual-Core Mobile Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_TURION_DUAL_CORE_MOBILE  #language en-US "AMD Turion(TM) Dual-Core Mobile Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_ATHLON_DUAL_CORE  #language en-US "AMD Athlon(TM) Dual-Core Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_SEMPRON_SI  #language en-US "AMD Sempron(TM) SI Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MIPS_FAMILY                    #language en-US "MIPS Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SPARC_FAMILY                   #language en-US "SPARC Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_68040_FAMILY                   #language en-US "68040 Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_HOBBIT_FAMILY                  #language en-US "Hobbit Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_WEITEK                         #language en-US "Weitek\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PA_RISC_FAMILY                 #language en-US "PA-RISC Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_V30_FAMILY                     #language en-US "V30 Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PENTIUM_III_XEON               #language en-US "Pentium(R) III Xeon(TM) Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_M1               #language en-US "Reserved for specific M1 versions\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_K5               #language en-US "Reserved for specific K5 versions\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_PENTIUM          #language en-US "Reserved for specific Pentium(R) Processor versions\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_PROC_FAMILY          #language en-US "Undefined processor family and type\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PROC_INFO                      #language en-US "Processor Information -  Voltage:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PROC_CURRENT_VOLTAGE           #language en-US "Processor current voltage = (%d/10)V\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_5V_SUPOPRTED                   #language en-US " 5V is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_33V_SUPPORTED                  #language en-US " 3.3V is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_29V_SUPPORTED                  #language en-US " 2.9V is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT3_NOT_ZERO                  #language en-US "Error, reserved BIT 3 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT4_NOT_ZERO                  #language en-US "Error, reserved BIT 4 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT5_NOT_ZERO                  #language en-US "Error, reserved BIT 5 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT6_NOT_ZERO                  #language en-US "Error, reserved BIT 6 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT7_NOT_ZERO                  #language en-US "Error, reserved BIT 7 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT10_NOT_ZERO                 #language en-US "Error, reserved BIT 10 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT11_NOT_ZERO                 #language en-US "Error, reserved BIT 11 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT12_NOT_ZERO                 #language en-US "Error, reserved BIT 12 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT13_NOT_ZERO                 #language en-US "Error, reserved BIT 13 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT14_NOT_ZERO                 #language en-US "Error, reserved BIT 14 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT15_NOT_ZERO                 #language en-US "Error, reserved BIT 15 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PROC_STATUS                    #language en-US "Processor Status:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_SOCKET_POPULATED           #language en-US "CPU Socket Populated\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_SOCKET_UNPOPULATED         #language en-US "CPU Socket Unpopulated Bits\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_ENABLED                    #language en-US "CPU Enabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_DISABLED_BY_USER           #language en-US "CPU Disabled by User via BIOS Setup\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_DIABLED_BY_BIOS            #language en-US "CPU Disabled By BIOS (POST Error)\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_IDLE                       #language en-US "CPU is Idle, waiting to be enabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_OTHERS                         #language en-US "Others\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RESERVED                       #language en-US "Reserved\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SIZE_LARGEST_MEM               #language en-US "The size of the largest memory module supported (per slot): "
#string STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_MB                     #language en-US "%d * %d = %d MB\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MAX_AMOUNT_MEM                 #language en-US "The maximum amount of memory supported by this controller: "
#string STR_SMBIOSVIEW_PRINTINFO_HANDLES_CONTROLLED             #language en-US "There are %d Handles controlled by this controller\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_HANDLES_LIST_CONTROLLED        #language en-US "Handles' List controlled by this controller:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_HANDLE                         #language en-US "Handle%d: 0x%04x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BANK_CONNECTIONS               #language en-US "Bank Connections:"
#string STR_SMBIOSVIEW_PRINTINFO_BANK_RAS                       #language en-US "Banks %d & %d(RAS# %d & %d)\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BANK_RAS_2                     #language en-US "Bank %d(RAS# %d)\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_NO_BANKS_CONNECTED             #language en-US "No banks connected\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MEMORY_SIZE                    #language en-US "Memory Size:"
#string STR_SMBIOSVIEW_PRINTINFO_MEM_SIZE_NOT_DETERMINABLE      #language en-US " Memory Size Not determinable (Installed Size only)\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MODULE_INSTALLED               #language en-US " Module is installed, but no memory has been enabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_NOT_INSTALLED                  #language en-US " Not installed\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MEM_SIZE                       #language en-US " Memory Size: %d MB\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_DOUBLE_BANK         #language en-US "The memory module has a Double-bank connection\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_SINGLE_BANK         #language en-US "The memory module has a Single-bank connection\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SLOT_ID                        #language en-US " Slot Id:"
#string STR_SMBIOSVIEW_PRINTINFO_LOGICAL_MICRO_CHAN             #language en-US " the logical Micro Channel slot number is:"
#string STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_D                      #language en-US " %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ERROR_NOT_1_15                 #language en-US " error, not 1-15.\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_LOGICAL_EISA_NUM               #language en-US " the logical EISA slot number is:"
#string STR_SMBIOSVIEW_PRINTINFO_IDENTIFIES_ADAPTER_NUM         #language en-US " Identifies the Adapter Number is: %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_VALUE_PRESENT                  #language en-US " the value present in the Slot Number field of the PCI Interrupt Routing table entry that is associated with this slot is: %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_SLOT_ID              #language en-US " undefined Slot Id\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_CONFIGURATION            #language en-US "Cache Configuration:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_WRITE_THROUGH            #language en-US "Write Through\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_WRITE_BACK               #language en-US "Write Back\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_VARIES_WITH_MEM_ADDR     #language en-US "Varies with Memory Address\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_INTERNAL                 #language en-US "Internal\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_EXTERNAL                 #language en-US "External\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_SOCKETED                 #language en-US "Socketed\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_NOT_SOCKETED             #language en-US "Not Socketed\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_LEVEL                    #language en-US "Level %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SYSTEM_BOOT_STATUS             #language en-US "System Boot Status: "
#string STR_SMBIOSVIEW_PRINTINFO_NO_ERRORS_DETECTED             #language en-US " No errors detected"
#string STR_SMBIOSVIEW_PRINTINFO_NO_BOOTABLE_MEDIA              #language en-US " No bootable media"
#string STR_SMBIOSVIEW_PRINTINFO_NORMAL_OP_SYSTEM               #language en-US " The \"normal\" unable to load operating system."
#string STR_SMBIOSVIEW_PRINTINFO_FIRMWARE_DETECTED              #language en-US " Firmware-detected hardware problem, including \"unknown\" failure types."
#string STR_SMBIOSVIEW_PRINTINFO_OP_SYSTEM                      #language en-US " Operating system-detected hardware failure."
#string STR_SMBIOSVIEW_PRINTINFO_USER_REQUESTED_BOOT            #language en-US " User-requested boot, usually via a keystroke"
#string STR_SMBIOSVIEW_PRINTINFO_SYSTEM_SECURITY_VIOLATION      #language en-US " System security violation"
#string STR_SMBIOSVIEW_PRINTINFO_PREV_REQ_IMAGE                 #language en-US " Previously-requested image. "
#string STR_SMBIOSVIEW_PRINTINFO_WATCHDOG_TIMER                 #language en-US " A system watchdog timer expired, causing the system to reboot."
#string STR_SMBIOSVIEW_PRINTINFO_RSVD_FUTURE_ASSIGNMENT         #language en-US " Reserved for future assignment via this specification. "
#string STR_SMBIOSVIEW_PRINTINFO_VENDOR_OEM_SPECIFIC            #language en-US " Vendor/OEM-specific implementations.  The Vendor/OEM identifier is the \"Manufacturer\" string found in the System Identification structure."
#string STR_SMBIOSVIEW_PRINTINFO_PRODUCT_SPEC_IMPLMENTATION     #language en-US "Product-specific implementations.  The product identifier is formed by the concatenation of the \"Manufacturer\" and \"Product Name\" strings found in the System Information structure."
#string STR_SMBIOSVIEW_PRINTINFO_ERROR_VALUE                    #language en-US "Error value\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SBDS_MANUFACTURE_DATE          #language en-US "SBDS Manufacture Date: "
#string STR_SMBIOSVIEW_PRINTINFO_MONTH_DAY_YEAR                 #language en-US "%02d/%02d/%4d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SYSTEM_RESET_CAPABILITIES      #language en-US "System Reset Capabilities: "
#string STR_SMBIOSVIEW_PRINTINFO_BITS_RESERVED_ZERO             #language en-US "Bits 7:6 are reserved bits, must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_WATCHDOG_TIMER_2               #language en-US "System contains a watchdog timer\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SYSTEM_NOT_CONTAIN_TIMER       #language en-US "System does not contain a watchdog timer\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BOOT_OPTION_LIMIT              #language en-US "Boot Option on Limit: "
#string STR_SMBIOSVIEW_PRINTINFO_OP_SYSTEM_2                    #language en-US "Operating system\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SYSTEM_UTIL                    #language en-US "System utilities\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_DO_NOT_REBOOT_BITS             #language en-US "Do not reboot Bits\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BOOT_OPTION                    #language en-US "Boot Option :"
#string STR_SMBIOSVIEW_PRINTINFO_DO_NOT_REBOOT                  #language en-US "Do not reboot\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_HARDWARE_SECURITY_SET          #language en-US "Hardware Security Settings: \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_ON_PASSWORD              #language en-US "Power-on Password Status: "
#string STR_SMBIOSVIEW_PRINTINFO_DISABLED                       #language en-US "Disabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ENABLED_NEWLINE                #language en-US "Enabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_NOT_IMPLEMENTED                #language en-US "Not Implemented\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_KEYBOARD_PASSWORD              #language en-US "Keyboard Password Status: "
#string STR_SMBIOSVIEW_PRINTINFO_ADMIN_PASSWORD_STATUS          #language en-US "Administrator Password Status: "
#string STR_SMBIOSVIEW_PRINTINFO_FRONT_PANEL_RESET              #language en-US "Front Panel Reset Status: "
#string STR_SMBIOSVIEW_PRINTINFO_CONNECTIONS                    #language en-US "Connections: "
#string STR_SMBIOSVIEW_PRINTINFO_BITS_RESERVED_ZERO_2           #language en-US "Bits 7:2 are reserved bits, must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_OUTBOUND_CONN_ENABLED          #language en-US "Outbound Connection Enabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_OTUBOUND_CONN_DISABLED         #language en-US "Outbound Connection Disabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INBOIUND_CONN_ENABLED          #language en-US "Inbound Connection Enabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INBOUND_CONN_DISABLED          #language en-US "Inbound Connection Disabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_CHAR              #language en-US "Power Supply Characteristics: \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BITS_15_14_RSVD                #language en-US "Bits 15:14 are reserved bits, must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TYPE                           #language en-US "Type - "
#string STR_SMBIOSVIEW_PRINTINFO_OTHER_SPACE                    #language en-US " Other\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_LINEAR                         #language en-US " Linear\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SWITCHING                      #language en-US " Switching\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BATTERY                        #language en-US " Battery\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UPS                            #language en-US " UPS\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CONVERTER                      #language en-US " Converter\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_REGULATOR                      #language en-US " Regulator\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RESERVED_2                     #language en-US " Reserved \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_STATUS_DASH                    #language en-US " Status - "
#string STR_SMBIOSVIEW_PRINTINFO_OK                             #language en-US " OK\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_NON_CRITICAL                   #language en-US " Non-critical\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CRITICAL_POWER_SUPPLY          #language en-US " Critical, power supply has failed and has been taken off-line\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UNDEFINED                      #language en-US " Undefined \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INPUT_VOLTAGE_RANGE            #language en-US "Input Voltage Range Switching - "
#string STR_SMBIOSVIEW_PRINTINFO_MANUAL                         #language en-US " Manual\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AUTO_SWITCH                    #language en-US " Auto-switch\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_WIDE_RANGE                     #language en-US " Wide range\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_NOT_APPLICABLE                 #language en-US " Not applicable\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RESERVED_3                     #language en-US " Reserved  \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_UNPLUGGED         #language en-US "Power supply is unplugged from the wall\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_PLUGGED           #language en-US "Power supply is plugged from the wall\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_PRESENT           #language en-US "Power supply is present\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_PRESENT       #language en-US "Power supply is not present\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_REPLACE           #language en-US "Power supply is hot replaceable\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_REPLACE       #language en-US "Power supply is not hot replaceable\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_SIZE                      #language en-US "BiosSize:  %d KB\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_EXTENDED_BIOS_SIZE             #language en-US "ExtendedBiosSize:  %d %s\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_NO_INFO                       #language en-US "No Info"
#string STR_SMBIOSVIEW_QUERYTABLE_RSVD_BITS_SET                 #language en-US "\r\nIt also has reserved bits set 1 --- reserved bits: 0x%x"
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE            #language en-US "System Wakeup Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_FEATURE_FLAGS      #language en-US "Base Board Feature Flags:"
#string STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_BOARD_TYPE         #language en-US "Base Board Board Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_TYPE           #language en-US "System Enclosure or Chassis Types:"
#string STR_SMBIOSVIEW_QUERYTABLE_CHASSIS_LOCK_PRESENT          #language en-US "Chassis Lock present\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_STATUS         #language en-US "System Enclosure or Chassis Status: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_SECURITY       #language en-US "System Enclosure or Chassis Security Status: "
#string STR_SMBIOSVIEW_QUERYTABLE_PROC_TYPE                     #language en-US "Processor Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_PROC_UPDATE                   #language en-US "Processor Upgrade: "
#string STR_SMBIOSVIEW_QUERYTABLE_PROC_CHARACTERISTICS          #language en-US "Processor Characteristics: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DETECTMETHOD              #language en-US "Memory Controller Error DetectMethod:"
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_CORRECT_CAPABILITY        #language en-US "Memory Controller Error Correct Capability:\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_INTERLEAVE_SUPPORT        #language en-US "Memory Controller Interleave Support:"
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_MEMORY_SPEED              #language en-US "Memory Controller Memory Speed:"
#string STR_SMBIOSVIEW_QUERYTABLE_REQUIRED_VOLTAGES             #language en-US "The required voltages for each memory module sockets:\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_TYPE               #language en-US "Memory Module Memory Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_ERROR_STATUS       #language en-US "Memory Module Error Status: "
#string STR_SMBIOSVIEW_QUERYTABLE_CACHE_SRAM_TYPE               #language en-US "Cache SRAM Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_CACHE_ERROR_CORRECTING        #language en-US "Cache Error Correcting Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_CACHE_SYSTEM_TYPE             #language en-US "Cache System Cache Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_CACHE_ASSOCIATIVITY           #language en-US "Cache Associativity:"
#string STR_SMBIOSVIEW_QUERYTABLE_PORT_CONNECTOR_TYPE           #language en-US "Port Connector Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_PORT_TYPE                     #language en-US "Port Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_TYPE              #language en-US "System Slot Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_DATA              #language en-US "System Slot Data Bus Width: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_CURRENT_USAGE     #language en-US "System Slot Current Usage: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH            #language en-US "System Slot Length: "
#string STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS          #language en-US "Slot characteristics 1: "
#string STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2        #language en-US "Slot characteristics 2: "
#string STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE           #language en-US "Onboard Device Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE         #language en-US "System Event Log Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT     #language en-US "Event Log Variable Data Format Types: "
#string STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP           #language en-US "POST Results Bitmap - First DWORD:\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_SECOND_DWORD     #language en-US "POST Results Bitmap - Second DWORD:\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_TYPES       #language en-US "System Management Types: "
#string STR_SMBIOSVIEW_QUERYTABLE_OEM_ASSIGNED                  #language en-US "OEM assigned\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN        #language en-US "Reserved for future assignment via this specification\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_PROBE       #language en-US "A system-management probe or cooling device is out-of-range\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION       #language en-US "Physical Memory Array Location: "
#string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_USE            #language en-US "Physical Memory Array Use: "
#string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR          #language en-US "Physical Memory Array Error Correction Types: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR        #language en-US "Memory Device - Form Factor: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE               #language en-US "Memory Device - Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL        #language en-US "Memory Device - Type Detail: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO                #language en-US "32-bit Memory Error Information - Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY         #language en-US "Memory Error - Error granularity: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP                  #language en-US "Memory Error - Error Operation: "
#string STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_TYPE          #language en-US "Pointing Device - Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_INTERFACE     #language en-US "Pointing Device - Interface:"
#string STR_SMBIOSVIEW_QUERYTABLE_PORTABLE_BATT_DEV_CHEM        #language en-US "Portable Battery - Device Chemistry:"
#string STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC             #language en-US "Voltage Probe - Location:"
#string STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_STATUS          #language en-US "Voltage Probe - Status:"
#string STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_STATUS            #language en-US "Cooling Device - Status: "
#string STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_TYPE              #language en-US "Cooling Device - Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_TEMP_PROBE                    #language en-US "Temperature Probe - Status:"
#string STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_STATUS             #language en-US "Electrical Current Probe - Status:"
#string STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_LOC                #language en-US "Electrical Current Probe - Location:"
#string STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_TYPE           #language en-US "Management Device Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_ADDR_TYPE      #language en-US "Management Device - Address Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE              #language en-US "Memory Channel Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE            #language en-US "BMC Interface Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_MC_HOST_INTERFACE_TYPE        #language en-US "MC Host Interface Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE                   #language en-US "Structure Type:"
#string STR_SMBIOSVIEW_SMBIOSVIEW_ONE_VAR_ARGV                  #language en-US "%s "
#string STR_SMBIOSVIEW_SMBIOSVIEW_QUERY_STRUCT_COND             #language en-US "Query Structure, conditions are:\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_QUERYTYPE_RANDOM              #language en-US "QueryType   = Random \r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_QUERYTYPE                     #language en-US "QueryType   = %d\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_QUERYHANDLE_RANDOM            #language en-US "QueryHandle = Random\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_QUERYHANDLE                   #language en-US "QueryHandle = 0x%x\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SHOWTYPE                      #language en-US "ShowType    = "
#string STR_SMBIOSVIEW_SMBIOSVIEW_TYPE_HANDLE_DUMP_STRUCT       #language en-US "Type=%d, Handle=0x%x\r\nDump Structure as:\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_INDEX_LENGTH                  #language en-US "Index=%d,Length=0x%x,"
#string STR_SMBIOSVIEW_SMBIOSVIEW_ADDR                          #language en-US "Addr=0x%p\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_ENTRYLEN                      #language en-US "Entry Length: 0x%x\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_REFERENCEDHANDLE              #language en-US "Referenced Handle: 0x%x\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_REFERENCEDOFFSET              #language en-US "Referenced Offset: 0x%x\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_ENTER_Q                       #language en-US "\r\n%HEnter%N to continue, %H:q%N to exit, %H:[0-3]%N to change mode, %H/?%N for help\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SMBIOS_UTILITY                #language en-US "   SMBIOS Utility ---- smbiosview HELP Information\r\n\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_USAGE                         #language en-US "Usage:\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_HSMBIOSVIEW                   #language en-US "%Hsmbiosview [-t type] | [-h handle] | [-s] | [-a]%N\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_EXAMPLES                      #language en-US "Examples:\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_STAT_INFO                #language en-US "%H>smbiosview -s %N         - Show statistics information\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_ALL_STRUCT_TYPE          #language en-US "%H>smbiosview -t 8 %N       - Show all structures of type=8\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_STRUCT_HANDLE            #language en-US "%H>smbiosview -h 25 %N      - Show structure of handle=0x25\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_ALL_OUTPUT_TO_FILE       #language en-US "%H>smbiosview -a > 1.log%N  - Show all and output to file 1.log\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_INTERNAL_COMMANDS             #language en-US "Internal commands:\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_QUIT_SMBIOSVIEW               #language en-US "%H:q%N --------  quit smbiosview\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_NONE           #language en-US "%H:0%N --------  Change smbiosview display NONE info\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_OUTLINE        #language en-US "%H:1%N --------  Change smbiosview display OUTLINE info\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_NORMAL         #language en-US "%H:2%N --------  Change smbiosview display NORMAL info\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_DETAIL         #language en-US "%H:3%N --------  Change smbiosview display DETAIL info\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_HELP                     #language en-US "%H/?%N --------  Show help\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_INDEX                         #language en-US "Index=%04d   "
#string STR_SMBIOSVIEW_SMBIOSVIEW_TYPE                          #language en-US "Type=%03d   "
#string STR_SMBIOSVIEW_SMBIOSVIEW_HANDLE                        #language en-US "Handle=0x%04x   "
#string STR_SMBIOSVIEW_SMBIOSVIEW_OFFSET                        #language en-US "Offset=0x%04x   "
#string STR_SMBIOSVIEW_SMBIOSVIEW_LENGTH                        #language en-US "Length=0x%04x"
#string STR_SMBIOSVIEW_SMBIOSVIEW_ENTER_CONTINUE                #language en-US "Press Enter to continue..\r\n"
#string STR_SMBIOSVIEW_LIBSMBIOSVIEW_NO_BUF_SPEC_WHEN_STRUCT    #language en-US "smbiosview: No buffer specified when get structure\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_NOT_SPEC                      #language en-US "SmbiosView: Type # not specified\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_HANDLE_NOT_SPEC               #language en-US "SmbiosView: Handle # not specified\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_UNKNOWN_FLAG                  #language en-US "\r\nSmbiosView: Unknown flag\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_TABLE           #language en-US "SmbiosView: Cannot access SMBIOS table\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_UNKNOWN_INTERNAL_COMMAND      #language en-US "\r\nSmbiosView: Unknown internal command\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SMBIOS_TABLE                  #language en-US "SmbiosView: SMBIOS table damaged\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_OUT_OF_MEM                    #language en-US "SmbiosView: Out of memory\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_STATS           #language en-US "SmbiosView: Cannot access statistics table\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CHAR                #language en-US "TPM Device Characteristics: \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CHAR_NOT_SUPPORTED  #language en-US "TPM Device Characteristics Not Supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CONFIG_FWU          #language en-US "Family configurable via firmware update\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CONFIG_PLAT_SW      #language en-US "Family configurable via platform software support\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CONFIG_OEM          #language en-US "Family configurable via OEM proprietary mechanism\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BITS_06_63                     #language en-US "Bits 6:63 are reserved\r\n"

