From 36ad6cd20a07aecf69e92e9fa724beef14be536a Mon Sep 17 00:00:00 2001 From: Jaakko Keränen Date: Mon, 22 Mar 2021 17:28:05 +0200 Subject: Basic language string mechanism Added a set of English strings. Lang can load a language. LabelWidget can replace IDs in the label. IssueID #192 --- src/lang.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/lang.c') diff --git a/src/lang.c b/src/lang.c index 3e99c09c..d0120798 100644 --- a/src/lang.c +++ b/src/lang.c @@ -31,15 +31,16 @@ static void clear_Lang_(iLang *d) { static void load_Lang_(iLang *d, const char *id) { /* Load compiled language strings from an embedded blob. */ - const iBlock *data = NULL; // &blobLangEn_Embedded; + iUnused(id); + const iBlock *data = &blobEn_Embedded; iMsgStr msg; for (const char *ptr = constBegin_Block(data); ptr != constEnd_Block(data); ptr++) { msg.id = ptr; while (*++ptr) {} msg.str = ++ptr; while (*++ptr) {} - /* Allocate the string. */ - insert_SortedArray(d->messages, &msg); + /* Allocate the string. The data has already been sorted. */ + pushBack_Array(&d->messages->values, &msg); } } @@ -68,8 +69,8 @@ const char *cstr_Lang(const char *msgId) { if (locate_SortedArray(d->messages, &key, &pos)) { return ((const iMsgStr *) at_SortedArray(d->messages, pos))->str; } - //iAssert(iFalse); - fprintf(stderr, "[Lang] missing: %s\n", msgId); + fprintf(stderr, "[Lang] missing: %s\n", msgId); fflush(stderr); + iAssert(iFalse); return msgId; } -- cgit v1.2.3