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>
18 lines
485 B
C
18 lines
485 B
C
/* 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_
|