// /**
//
// 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_CONTAINED_ELEMENT              #language en-US "Contained Element %d: "
#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_MCFG_SUPPORTED                 #language en-US "Manufacturing mode is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MCFG_ENABLED                   #language en-US "Manufacturing mode is enabled\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_SYSTEM_SLOT_INFORMATION       #language en-US "System Slot Information: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_HEIGHT            #language en-US "System Slot Height: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_PHYSICAL_WIDTH    #language en-US "System Slot Physical Width: "
#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"

