lib: Support localized text of memory_training_desc in ux_locales.c
To support the localized text, we need to get the locale id by vboot APIs and read raw string content file: preram_locales located at either RO or RW. The preram_locales file follows the format: [string_name_1] [\x00] [locale_id_1] [\x00] [localized_string_1] [\x00] [locale_id_2] [\x00] [localized_string_2] ... [string_name_2] [\x00] ... This code will search for the correct localized string that its string name is `memory_training_desc` and its locale ID matches the ID vb2api returns. If no valid string found, we will try to display in English (locale ID 0). BUG=b:264666392 BRANCH=brya TEST=emerge-brya coreboot chromeos-bmpblk chromeos-bootimage Change-Id: I7e3c8d103c938a11b397c32c9228e44e31c3f01d Signed-off-by: Hsuan Ting Chen <roccochen@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/75330 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
parent
ba5a2a189e
commit
3c2cdb6e57
4 changed files with 199 additions and 4 deletions
18
src/include/ux_locales.h
Normal file
18
src/include/ux_locales.h
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
#ifndef _UX_LOCALES_H_
|
||||
#define _UX_LOCALES_H_
|
||||
|
||||
#include <types.h>
|
||||
|
||||
/* Unmap the preram_locales if it has been mapped. No-op otherwise. */
|
||||
void ux_locales_unmap(void);
|
||||
|
||||
/*
|
||||
* Get the localized text for a given string name.
|
||||
* This function will try to read the language ID from vboot API, and search the
|
||||
* corresponding translation from CBFS preram_locales.
|
||||
*/
|
||||
const char *ux_locales_get_text(const char *name);
|
||||
|
||||
#endif // _UX_LOCALES_H_
|
||||
Loading…
Add table
Add a link
Reference in a new issue