Код:

...
InstallDir "$PROGRAMFILES\"
!define PROG_UNINST_KEY "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PROG_NAME_TEXT}"
!define PROG_UNINST_ROOT_KEY "HKLM"
!define PROG_RKEY "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PROG_NAME_TEXT}"
InstallDirRegKey HKLM "${PROG_RKEY}" "InstallLocation"
AllowRootDirInstall true
...
Далее, после кастомных функций или команды RequestExecutionLevel admin, прописываем:
Код:

!define MUI_LANGDLL_REGISTRY_ROOT "${PROG_UNINST_ROOT_KEY}" "HKCU"
!define MUI_LANGDLL_REGISTRY_KEY "${PROG_UNINST_KEY}" "Software\Modern UI Test"
!define MUI_LANGDLL_REGISTRY_VALUENAME "${PROG_NAME_FILE}: Language"
После строки кода !insertmacro MUI_PAGE_WELCOME прописываем:
Код:

LicenseData $(mylicense)
!insertmacro MUI_PAGE_LICENSE $(mylicense)
Если лицензия будет нужна.
После строки кода !insertmacro MUI_UNPAGE_FINISH прописываем используемые языки, например:
Код:

!insertmacro MUI_LANGUAGE "ENGLISH"
!insertmacro MUI_LANGUAGE "ROMANIAN"
!insertmacro MUI_LANGUAGE "GERMAN"
!insertmacro MUI_LANGUAGE "RUSSIAN"
!insertmacro MUI_LANGUAGE "ITALIAN"
!insertmacro MUI_LANGUAGE "CZECH"
!insertmacro MUI_LANGUAGE "POLISH"
!insertmacro MUI_LANGUAGE "SPANISH"
Здесь же, указываем расположение файлов на разных языках и в разных папках, если требуется:
Код:

LicenseLangString mylicense ${LANG_ENGLISH} ".\licens\en\licence.rtf"
LicenseLangString mylicense ${LANG_ROMANIAN} ".\licens\ro\licence.rtf"
LicenseLangString mylicense ${LANG_GERMAN} ".\licens\de\licence.rtf"
LicenseLangString mylicense ${LANG_RUSSIAN} ".\licens\ru\licence.rtf"
LicenseLangString mylicense ${LANG_ITALIAN} ".\licens\it\licence.rtf"
LicenseLangString mylicense ${LANG_CZECH} ".\licens\cz\licence.rtf"
LicenseLangString mylicense ${LANG_POLISH} ".\licens\pl\licence.rtf"
LicenseLangString mylicense ${LANG_SPANISH} ".\licens\es\licence.rtf"
Либо все файлы в одной папке:
Код:

LicenseLangString mylicense ${LANG_ENGLISH} ".\licens\licence_en.rtf"
При этом, изменяем название файлов соответственно: licence_en.rtf, licence_ro.rtf и т.д.
И прописываем эту строку для каждого языка отдельно, все аналогично как и в примере выше.
И следом, прописываем:
!insertmacro MUI_RESERVEFILE_LANGDLL
Затем, по всему вашему коду, все тексты созданные вами и отображаемые программой для юзера, нужно оформить примерно по такой схеме:
Код:

LangString TextWelcomePage ${LANG_ENGLISH} "The Setup Wizard will guide you through the installation process of $(^Name).\r\n\r\nIt is strongly recommended to close all other applications before continuing the installation procedure.\r\n\r\n$_CLICK"
LangString TextWelcomePage ${LANG_ROMANIAN} "Vei fi ghidat in procesul de instalare al $(^Name).\r\n\r\nEste recomandat sa inchideti celelalte aplicatii pornite inainte sa continuati instalarea.\r\n\r\n$_CLICK"
LangString TextWelcomePage ${LANG_GERMAN} "Dieser Assistent führt Sie durch die Installation von $(^Name).\r\n\r\nEs wird empfohlen, vor der Installation alle anderen Programme zu schließen.\r\n\r\n$_CLICK"
LangString TextWelcomePage ${LANG_RUSSIAN} "Этот мастер проведёт Вас через процесс инсталляции $(^Name).\r\n\r\nРекомендуется закрыть перед инсталляцией все другие программы.\r\n\r\n$_CLICK"
LangString TextWelcomePage ${LANG_ITALIAN} "Il Setup Wizard ti guiderà attraverso il processo d'installazione di $(^Name).\r\n\r\nÈ fortemente raccomandato di chiudere tutte le altre applicazioni attive prima di proseguire con l'installazione.\r\n\r\n$_CLICK"
LangString TextWelcomePage ${LANG_CZECH} "Setup Wizard vás provede procesem instalace $(^Name).\r\n\r\nJe silně doporučeno zavřít všechny ostatní aplikace, než budete pokračovat v instalaci.\r\n\r\n$_CLICK"
LangString TextWelcomePage ${LANG_POLISH} "Kreator instalacji poprowadzi cię przez proces instalacji $(^Name).\r\n\r\nZdecydowanie zaleca się zamknięcie wszystkich innych aplikacji przed kontynuacją instalacji.\r\n\r\n$_CLICK"
LangString TextWelcomePage ${LANG_SPANISH} "El asistente de instalación le guiará a través del proceso de instalación de $(^Name).\r\n\r\nIt es muy recomendable cerrar todas las aplicaciones antes de continuar con el procedimiento de instalación.\r\n\r\n$_CLICK"
В конце кода, прописываем:
Код:

в функцию .onInit
!insertmacro MUI_LANGDLL_DISPLAY
в функцию un.onInit
!insertmacro MUI_UNGETLANGUAGE
При запуске инсталлера будет окошко с выбором языка, при деинсталле язык автоматом будет определяться, а все тексты в инсталлере при инсталляции/деинсталляции будут на указанном юзером языке.. Все.