mirror of https://github.com/acidanthera/audk.git
Add in ConvertIso639LanguageToRfc3066Language API.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5268 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
6fd5fbe3ec
commit
2d81bfb983
|
@ -415,6 +415,44 @@ ConvertRfc3066LanguageToIso639Language (
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
Convert language code from ISO639-2 to RFC3066.
|
||||
|
||||
LanguageIso639 contain a single ISO639-2 code such as
|
||||
"eng" or "fra".
|
||||
|
||||
The LanguageRfc3066 must be a buffer large enough
|
||||
for RFC_3066_ENTRY_SIZE characters.
|
||||
|
||||
If LanguageIso639 is NULL, then ASSERT.
|
||||
If LanguageRfc3066 is NULL, then ASSERT.
|
||||
|
||||
@param LanguageIso639 ISO639-2 language code.
|
||||
@param LanguageRfc3066 RFC3066 language code.
|
||||
|
||||
@retval EFI_SUCCESS Language code converted.
|
||||
@retval EFI_NOT_FOUND Language code not found.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConvertIso639LanguageToRfc3066Language (
|
||||
IN CONST CHAR8 *LanguageIso639,
|
||||
OUT CHAR8 *LanguageRfc3066
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
|
||||
for (Index = 0; Iso639ToRfc3066ConversionTable[Index] != 0; Index += 5) {
|
||||
if (CompareMem (LanguageIso639, &Iso639ToRfc3066ConversionTable[Index], 3) == 0) {
|
||||
CopyMem (LanguageRfc3066, &Iso639ToRfc3066ConversionTable[Index + 3], 2);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
/**
|
||||
Convert language code list from RFC3066 to ISO639-2, e.g. "en-US;fr-FR" will
|
||||
be converted to "engfra".
|
||||
|
|
Loading…
Reference in New Issue