From 00e1d9f5c4742eb90fa967d57d9b7e170ff0fac5 Mon Sep 17 00:00:00 2001 From: kichik Date: Wed, 7 Aug 2002 15:36:28 +0000 Subject: [PATCH] If default user language does fit exactly, will try to find primary language match. git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@657 212acab6-be3b-0410-9dea-997c60f758d6 --- Source/exehead/Ui.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Source/exehead/Ui.c b/Source/exehead/Ui.c index e9df10be..d3f5fc97 100644 --- a/Source/exehead/Ui.c +++ b/Source/exehead/Ui.c @@ -302,6 +302,7 @@ int ui_doinstall(void) { // Added by Amir Szekely 3rd August 2002 // Multilingual support + char c=0; LANGID user_lang=GetUserDefaultLangID(); int size=g_inst_header->common.str_tables_num*sizeof(common_strings); cur_common_strings_table=common_strings_tables=(common_strings*)GlobalAlloc(GPTR,size); @@ -316,14 +317,20 @@ int ui_doinstall(void) cur_uninstall_strings_table=uninstall_strings_tables=(uninstall_strings*)GlobalAlloc(GPTR,size); GetCompressedDataFromDataBlockToMemory(g_inst_header->str_tables,(char*)uninstall_strings_tables,size); } + lang_again: for (size=0; sizestr_tables_num; size++) { - if (user_lang == common_strings_tables[size].lang_id) { + if (user_lang == common_strings_tables[size].lang_id + || (c && PRIMARYLANGID(user_lang) == PRIMARYLANGID(common_strings_tables[size].lang_id))) { cur_install_strings_table = &install_strings_tables[size]; cur_common_strings_table = &common_strings_tables[size]; cur_uninstall_strings_table = &uninstall_strings_tables[size]; break; } } + if (size==g_inst_header->str_tables_num) { + c=1; + goto lang_again; + } } process_string_fromtab(g_caption,COMMON_STR(caption));