// /**
//
// Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>
// (C) Copyright 2014-2015 Hewlett-Packard Development Company, L.P.<BR>
// (C) Copyright 2015-2019 Hewlett Packard Enterprise Development LP<BR>
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// 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_SLOT_PEER_GROUPS               #language en-US "Peer Groups %d:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SEGMENT_GROUP_NUM              #language en-US "  SegmentGroup Num: 0x%04x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BUS_NUM                        #language en-US "  Bus Num:          0x%02x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_DEV_FUNC_NUM                   #language en-US "  DevFunc Num:      0x%02x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_DATA_BUS_WIDTH                 #language en-US "  DataBus Width:    %d\r\n"
#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_FROM_CD_SUPPORTED         #language en-US "Boot from 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\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                  #language en-US "Do not reboot\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 into 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_DEVICE_MEMORY_TECHNOLOGY  #language en-US "Memory Device - Memory Technology: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA #language en-US "Memory Device - Memory Operating Mode Capability: "
#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_QUERYTABLE_PROCESSOR_ARCH_TYPE           #language en-US "Processor Architecture 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"

