Apply GetBestLanguage() for the implementation of HiiStringIdToImage() API.
E.g. L"PlatformLang" variable is "en" and registered string supports "en-US" git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7954 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -57,49 +57,4 @@ R8_EfiLibCompareLanguage (
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Determine what is the current language setting. The space reserved for Lang
|
||||
must be at least RFC_3066_ENTRY_SIZE bytes;
|
||||
|
||||
If Lang is NULL, then ASSERT.
|
||||
|
||||
@param Lang Pointer of system language. Lang will always be filled with
|
||||
a valid RFC 3066 language string. If "PlatformLang" is not
|
||||
set in the system, the default language specifed by PcdUefiVariableDefaultPlatformLang
|
||||
is returned.
|
||||
|
||||
@return EFI_SUCCESS If the EFI Variable with "PlatformLang" is set and return in Lang.
|
||||
@return EFI_NOT_FOUND If the EFI Variable with "PlatformLang" is not set, but a valid default language is return in Lang.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
GetCurrentLanguage (
|
||||
OUT CHAR8 *Lang
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
UINTN Size;
|
||||
|
||||
ASSERT (Lang != NULL);
|
||||
|
||||
//
|
||||
// Get current language setting
|
||||
//
|
||||
Size = RFC_3066_ENTRY_SIZE;
|
||||
Status = gRT->GetVariable (
|
||||
L"PlatformLang",
|
||||
&gEfiGlobalVariableGuid,
|
||||
NULL,
|
||||
&Size,
|
||||
Lang
|
||||
);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
AsciiStrCpy (Lang, (CHAR8 *) PcdGetPtr (PcdUefiVariableDefaultPlatformLang));
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user