mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-29 16:44:10 +02:00
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
|
Convert language code list from RFC3066 to ISO639-2, e.g. "en-US;fr-FR" will
|
||||||
be converted to "engfra".
|
be converted to "engfra".
|
||||||
|
Loading…
x
Reference in New Issue
Block a user