game development
[NSIS] 언어선택창에 설정한 언어가 표시되지 않을 때
Junare
2014. 9. 11. 14:03
MUI_LANGDLL_DISPLAY를 통해 언어 선택창을 노출 시킬 수 있는데, 이 언어 선택창에 나타나는 언어 리스트는 MUI_LANGUAGE를 통해 지정한다.
문제는 MUI_LANGUAGE로 복수의 언어를 지정하더라도, 인스톨러가 실행되는 로컬 PC의 언어 환경에 따라 지정한 일부 언어가 노출되지 않을 수 있다.
NSIS v2.26 이후 기본적으로 OS가 지원하지 않는 언어는 언어 선택창에서 노출을 하지 않기 때문이다.
예를 들어, Spanish나 Japanese의 경우 한국어 OS에서는 노출되지 않는다.
게다가 언어를 두 개를 지정했는데, 둘 중 하나가 지원하지 않는 언어일 경우 언어 선택창 자체를 노출시키지 않는다.
OS가 지원하지 않는 언어는 당연히 보여주지 않는 것이 사용자 입장에서도 편리하지만, 꼭 보여주고자 할 경우에는 MUI_LANGDLL_ALLLANGUAGES를 통해 모든 언어를 표시해줄 수 있다.
!define MUI_LANGDLL_ALLLANGUAGES
아래와 같이 MUI_LANGUAGE 매크로를 사용하기에 앞서 MUI_LANGDLL_ALLLANGUAGES를 선언하면, MUI_LANGUAGE를 통해 등록한 모든 언어가 언어 선택창에 노출된다.
< 참고 >
http://nsis.sourceforge.net/Why_does_the_language_selection_dialog_hide_some_languages