1.主要资料还是从EDK2源码 以及 uefi原理与编程
首先,通过在OvmfPkg/OvmfPkgX64.dsc里寻找,可以找到Ovmf用的菜单显示是MdeModulePkg/Application/UiApp/UiApp.inf。在MdeModulePkg/Application/UiApp下有FrontPageStrings.uni文件定义了用到的字符串资源。
第一步,在select Language菜单里加入中文选择。这一步是在rontPageCustomizedUiSupport.c里的UiCreateLanguageMenu函数
| 278 // Get Support language list from variable.
| 279 //
| 280 GetEfiGlobalVariable2 (L"PlatformLangCodes", (VOID**)&gLanguageString, NULL);
|- 281 if (gLanguageString == NULL) {
|| 282 gLanguageString = AllocateCopyPool (
|| 283 AsciiStrSize ((CHAR8 *) PcdGetPtr || (PcdUefiVariableDefaultPlatformLangCodes)),
|| 284 (CHAR8 *) PcdGetPtr (PcdUefiVariableDefaultPlatformLangCodes)
|| 285 );
|| 286 ASSERT (gLanguageString != NULL);