fix: adapt inno setup rendering to metaglot language name conversion

This commit is contained in:
yyc12345 committed 2026-10-09 19:50:58 +08:00
1 parent 2a49dea718
commit a123b680ff
2 files changed
+20 -7

No files matched your search

+1 -1
View File
@@ -246,7 +246,7 @@ if (WIN32)
--iss-template ${CMAKE_SOURCE_DIR}/dist/scwpic.iss.in.liquid --iss-template ${CMAKE_SOURCE_DIR}/dist/scwpic.iss.in.liquid
--isl-template ${CMAKE_SOURCE_DIR}/dist/scwpic.isl.liquid --isl-template ${CMAKE_SOURCE_DIR}/dist/scwpic.isl.liquid
--iss-path scwpic.iss.in --iss-path scwpic.iss.in
--isl-path "Strings/{{ lang }}.isl" --isl-path "Strings/{{ lang | default: name }}.isl"
--output ${SCWPIC_INNO_OUTPUT_DIR} --output ${SCWPIC_INNO_OUTPUT_DIR}
RESULT_VARIABLE METAGLOT_INNO_RESULT RESULT_VARIABLE METAGLOT_INNO_RESULT
) )
+19 -6
View File
@@ -48,14 +48,27 @@ SolidCompression=yes
WizardStyle=modern WizardStyle=modern
[Languages] [Languages]
{% comment %}
YYC MARK:
The base messages file pairing (the official full translation that provides
the language identity) is derived from MetaGlot's best-effort conversion of
the PO language tag to the conventional Inno Setup language name (lang.lang).
The English source language maps to "Default" and languages unknown to
MetaGlot convert to nothing; both fall back to "compiler:Default.isl" and
inherit the English language identity, so pair such a language with its base
file explicitly (e.g. via a "case" on "lang.name") when adding one. The
incremental custom messages file is named after the conventional name (or
the PO language tag when no conventional name exists); keep it in sync with
the "--isl-path" argument in CMakeLists.txt.
{% endcomment -%}
{% for lang in langs -%} {% for lang in langs -%}
{% case lang -%} {%- if lang.lang and lang.lang != 'Default' -%}
{% when 'zh_CN' -%} {% assign base = 'compiler:Languages\' | append: lang.lang | append: '.isl' -%}
{% assign base = 'compiler:Languages\ChineseSimplified.isl' -%} {%- else -%}
{% else -%}
{% assign base = 'compiler:Default.isl' -%} {% assign base = 'compiler:Default.isl' -%}
{% endcase -%} {%- endif -%}
Name: "{{ lang }}"; MessagesFile: "{{ base }},Strings\{{ lang }}.isl" {% assign incremental = lang.lang | default: lang.name -%}
Name: "{{ lang.name }}"; MessagesFile: "{{ base }},Strings\{{ incremental }}.isl"
{% endfor -%} {% endfor -%}
[Tasks] [Tasks]