- //\r
- // Find current LangCode from Lang NV Variable\r
- //\r
- Size = ISO_639_2_ENTRY_SIZE;\r
- Status = gRT->GetVariable (\r
- L"Lang",\r
- &gEfiGlobalVariableGuid,\r
- NULL,\r
- &Size,\r
- &LangCode\r
- );\r
-\r
- if (!EFI_ERROR (Status)) {\r
- Status = EFI_NOT_FOUND;\r
- for (Index = 0; LangCodes[Index] != 0; Index += ISO_639_2_ENTRY_SIZE) {\r
- if (CompareMem (&LangCodes[Index], LangCode, ISO_639_2_ENTRY_SIZE) == 0) {\r
- Status = EFI_SUCCESS;\r
- break;\r
- }\r
- }\r
- }\r
- //\r
- // If we cannot get language code from Lang variable,\r
- // or LangCode cannot be found from language table,\r
- // set the mDefaultLangCode to Lang variable.\r
- //\r
- if (EFI_ERROR (Status)) {\r
- Status = gRT->SetVariable (\r
+\r
+ if (!FeaturePcdGet (PcdUefiVariableDefaultLangDepricate)) {\r
+ //\r
+ // UEFI 2.1 depricated this variable so we support turning it off\r
+ //\r
+\r
+ //\r
+ // Find current LangCode from Lang NV Variable\r
+ //\r
+ Size = ISO_639_2_ENTRY_SIZE;\r
+ Status = gRT->GetVariable (\r