Microsoft AppLocale
1. 개요
비공식 다운로드 링크
AppLocale. 앱 로캘. 통칭은 '''어플로케일'''. 한국에선 발음이 잘못 알려져 이렇게 불린다. '''어플'''로케일이 아닌 '''앱'''로캘인 이유를 알고 싶다면 애플리케이션 문서를 참고. #
마이크로소프트에서 개발한 언어 코드 호환 프로그램. 쉽게 말해서 자국 언어 코드와 호환이 되지 않아 깨져서 나오는 다른 나라 언어를 그 나라 코드에 맞춰 제대로 출력시켜 주는 프로그램이다.
하지만 실제로 주로 쓰였던 용도로 보면 '''MS께서 문자 인코딩에 절규하는 야겜 플레이어들에게 하사하신 신의 도구'''이다. 이지트랜스, 아랄트랜스와 함께 삼신기라고 불리기도 했었다. 굳이 일본 에로게 뿐만 아니라 영어 유니코드가 아니면 프로그램 내 버그가 일어나는 게임들도 어플로케일을 이용해 터키어로 설정해주면 간단하게 수정이 가능했다.
2019년 시점에선 XP시절에나 쓰이던 나온지 워낙 오래된 구닥다리 프로그램이고, 최신 윈도우에서는 실행조차 안 되는 프로그램이며 버그도 많아 같은 용도의 프로그램인 NTLEA이나 로캘 에뮬레이터에 밀려서 자주 쓰이지는 않는 편이다. 아니, 오히려 해당 프로그램들이 기능도 더 많다. 가끔 어플로케일로만 동작하는 게임이 있긴 하지만 후술할 윈도우 자체 기능도 있고 하니 굳이 불편함을 감수하며 어플로케일을 쓸 필요는 없다.
굳이 어플로케일을 사용하고 싶다면 2014년 기준으로 ‘HF pAppLoc - 진화된 앱로캘(Extended AppLocale)’ 사용을 권장한다. 링크. 다만 진화된 앱로캘을 아랄트랜스와 같이 사용하려면 애플리케이션 자동 설정을 0으로 바꿔야 한다.
공식 지원 OS는 Windows XP와 Windows Server 2003이지만 Windows Vista와 Windows 7에서도 잘 작동한다. Windows 8과 Windows 8.1에서도 작동하지만 몇몇 프로그램에서 글자가 짤려서 나오는 오류가 있다.
Windows 10에서는 무슨 수를 써도 작동하지 않는다. 그 대신 윈도우 자체의 기능을 이용하여 외국 로캘에서만 구동되는 프로그램을 완전히 구동시킬 수 있다. 이건 Windows 10만 내장되어 있는 건 아니고 Windows XP부터 먹히던 방법이다. 자세한 것은 아래의 ‘윈도우 자체 기능으로 외국 로캘 프로그램 구동하기’ 부분 참고.
2. 탄생 배경
AppLocale 자체만 해도 역사가 긴 애플리케이션이지만, 하나의 운영체제에서 그 운영체제의 언어에 맞지 않는 언어의 애플리케이션을 제대로 표시/실행하기 위한 보조 애플리케이션, 특히 동북아 언어권(CJK)에 맞춘 보조 애플리케이션의 역사는 그보다 훨씬 길다. DOS의 경우 CJK 언어권에서는 영문 운영체제에 별도의 언어 입출력 툴(일본어의 경우 DOS/V, 한글의 경우 HBIOS)을 메모리에 올리는 형식이었기에 지금보다는 간단했지만, 그러한 와중에도 DOS-J 같은 재부팅 없이 특정 코드 페이지 애플리케이션을 정상적으로 표시할 수 있게 하는 툴이 나름대로(?) 유행했다.
Windows에서는 이러한 DOS 기반 툴을 쓸 수 없었기에 별도의 애플리케이션을 필요로 했는데, 영문 윈도우에서 CJK 표시를 하기 위한 툴인 NJStar CJK 뷰어(일명 NJWin)이나 Unionway AsianSuite(일명 Unionway) 같은 중국어권의 툴이 널리 쓰였다. Windows 3.1부터 Windows Me까지는 이 두 가지 툴이 대세였으며, 심지어 이들 툴에 기반한 한글화 패치까지 나올 정도였다.
하지만 Windows 2000부터는 운영체제가 유니코드 기반으로 바뀌면서 새로운 대안이 필요하게 되었다. 애플리케이션을 유니코드에 맞춰 개발할 경우 영문 윈도우에서도, 한글 윈도우에서도 일본어 표시에 별다른 문제가 생기지 않는다. 그렇지만 이는 어디까지나 유니코드 기반으로 개발한 경우에 한해서이며, 종전 방식으로 개발한 경우 여전히 문제가 생긴다. 보통 한글로 만든 국내용 애플리케이션은 한글 윈도우의 기본인 확장 완성형(CP949)을 이용하고, 일본어 윈도우는 Shift_JIS 규격의 코드 페이지를 따르는데, 한글 윈도우의 기본 코드 페이지는 CP949이기에 비 유니코드 일본어 애플리케이션은 뷁어로 깨져서 나온다.
유니코드를 기반으로 애플리케이션(게임)을 개발하면 간단히 해결할 수 있다. 문제는 일본에서 제작되는 애플리케이션 가운데 여전히 많은 숫자가 유니코드가 아닌 Shift-JIS를 이용해서 제작하고 있다는 것. 한국이나 중국어권의 경우에도 국내 내수용이나 개인 혹은 소규모 개발팀에서 만들어진 프로그램들은 MBCS 인코딩으로 코딩된 경우가 많아 마찬가지로 외국어 윈도우에서는 깨진다.
이 문제에 대한 전통적인 해결 방법은 Windows의 시스템 로캘을 잠시 일본어로 바꾸는 방법이며, '''제어판''' > '''국가 및 언어 옵션''' > '''고급''' > '''유니코드를 지원하지 않는 프로그램용 언어'''에서 설정할 수 있다. 그런데 이 방법은 설정을 바꿀 때마다 재부팅을 필요로 하고, 또 시스템 로캘을 일본어로 지정하면 반대로 국내에서 제작된 프로그램이 깨지는 결과를 초래한다. 다른 방법으로는 아예 가상머신 내지는 멀티부팅으로 일본어 Windows를 사용하거나 영문 Windows에 MUI를 설치하는 방법이 있다.
이에 대한 대안으로, 특정 프로그램 프로세스에 대해서만 잠시 코드 페이지를 바꾸어 주면 되는데, 이 역할을 하는 것이 애플리케이션 로캘이다. 이 툴은 윈도우의 주 시스템 로캘을 바꾸지 않고 애플리케이션별로 로캘을 설정할 수 있어 이 과정에서 올바른 코드페이지를 이용해서 유니코드로 변환하기만 하면, Windows 언어에 관계없이 정상적으로 표시를 할 수 있게 된다.
많은 일본산 미연시 및 야겜은 이 프로그램을 통해 설치 및 실행할 수 있다.
한편 동유럽에서 만들어진 사실주의 밀리터리 게임들(맨 오브 워나 코삭 시리즈)은 운영체제에 따라 언어 관련 문제로 설치나 실행이 되지 않는 때가 있는데, 이때 애플리케이션 로캘을 사용해서 실행 파일 언어를 러시아어로 맞춰주면 오류를 해결할 수 있다.
3. 문제 해결
Windows XP에서는 Windows Installer와의 충돌로, 아래 사진처럼 AppLocale에서 마지막으로 사용했던 언어로 지정되어 글자가 깨지는 현상이 있다.
[image]
현재까지 알려진 해결 방법은 다음과 같다.
- Windows Installer를 4.5로 업데이트한다. #
- C:\\Windows\\AppPatch\\ 폴더에서 AppLoc.tmp 파일을 지우고 재부팅한다.
- 다음 레지스트리 키를 수정한다.
대만에서 해당 오류를 수정한 pAppLocale을 만들기도 했다. 수정자 piaip의 홈페이지
4. 설치하기
Windows XP에서는 그냥 설치만 하면 끝난다. 하지만 Windows Vista 이상은 사용자 계정 컨트롤(UAC) 관련 오류 때문에 별도의 절차를 거쳐줘야 한다.
Windows Vista와 Windows 7은 UAC를 비활성화하면 XP와 동일하게 사용 가능하지만 보안에 취약해지기 때문에 권장하지는 않는다. Windows 8부터는 UAC를 '알리지 않음'으로 설정해도 실제로는 UAC가 동작하기 때문에 이 방법이 불가능하다.
UAC가 켜진 상태에서 설치하려면 설치 파일(apploc.msi)을 우클릭하고, 호환성 탭으로 들어가서 이전 버전의 Windows에 체크하면 된다. 프로그램을 실행할 때에도 관리자 권한이 필요한데, C:\\Windows\\AppPatch\\ 폴더 안에 있는 Apploc.exe의 속성에 들어간 다음, 호환성 탭에서 '이 프로그램을 관리자 권한으로 실행'에 체크하면 된다.
5. 한계
애플리케이션 로캘은 어디까지나 해당 윈도우의 시스템 로캘이 아닌 언어로 만든 애플리케이션을 정상적으로 실행할 수 있게 하는 것일 뿐 모든 미연시/야겜 실행을 보장하지는 않는다. 애플리케이션 안에서 Windows의 기본 언어나 시간대 등을 검사한다면 실행이 되지 않는다.
이러한 사례는 점차 늘어나고 있는데, 해외에서의 불법 복제를 막기 위한 안전장치 역할도 하지만[1] 일본 국내외의 압력을 피하기 위한 명분도 작용한다. 과거 레이프레이 같은 내용 면에서 논란의 소지가 있는 게임이 엉뚱하게 '''영국'''에서, 그것도 시간이 지난 뒤에 정치권의 이슈가 되고 그것이 역으로 일본 내부에서의 규제 강화로 이어진 사례가 대표적인데, 전연령판이 아닌 18禁 미연시나 야겜이 실행 시 일본 내수용임을 명시하는 것도 ‘우리는 이 게임을 외국에 팔지도, 실행하라고 하지도 않았다’라는 명분을 두기 위한 것이다.
일본어 Windows에서만 실행 가능한 게임이나 프로그램의 경우 로캘 프로그램들을 우회하거나 적용되지 않는 경우가 종종 있는데, 그럴 경우에는 후술할 윈도우 자체 기능으로 외국 로캘 프로그램을 구동하면 된다.
32비트 프로그램에서만 사용이 가능하며 64비트 프로그램은 사용해도 로케일이 적용되지는 않는다. 게임을 포함한 대부분의 프로그램은 32비트이니 별 상관없으나 32비트, 64비트 프로그램이 둘 다 있는 경우는 주의.
6. 윈도우 자체 기능으로 외국 로캘 프로그램 구동하기
상술한 바와 같이 Windows 10에서는 AppLocale이 작동하지 않는다. 설치도 되지 않으며, 우회 방법을 이용해 억지로 설치하더라도 기능이 제대로 작동하지 않는다.
사실 마이크로소프트는 AppLocale 프로그램을 사용하지 말고, Windows에서 자체 지원하는 로케일(지역) 변경기능을 이용하여 외국 로캘을 필요로 하는 프로그램을 구동할 것을 권하고, Windows 10부터는 강제하고 있다. 즉 Windows의 설정에서 로케일과 언어를 완전히 바꿀 수 있으니 특정 언어 전용 애플리케이션을 돌리기 위해 해당 언어용 Windows를 구입하거나 AppLocale을 이용하지 말라는 것.
실제로 Windows 자체 기능으로 로케일 설정만 변경하면 어느 나라 애플리케이션이건 매우 안정적으로 구동이 가능하다. AppLocale에서는 돌아가지 않는 프로그램들도 이렇게 하면 돌아간다. 물론 AppLocale은 윈도우 설정 변경이나 재부팅 없이도 해외 로캘 프로그램을 사용할 수 있다는 장점이 있었던 데 반해, Windows 자체 기능으로 해외 로캘 프로그램을 돌리려면 설정과 재부팅에 1~2분 정도가 소요되므로 번거롭다는 이들도 있다. 거기다가 로캘을 변경했기 때문에 로캘이 변경된 상태에서는 반대로 국산 프로그램이 실행이 안 되거나 깨지는 문제가 발생하기도 한다.
Windows 7 이상에서 해외 로캘용 프로그램을 구동하기 위해 로케일/언어를 변경하는 방법은 다음과 같다. Windows XP와 Windows Vista는 방법이 약간 다르다. 아래는 일본어를 예시로 들었다.
- 외국어 언어 팩 추가: ‘제어판’ → ‘시계, 언어 및 국가별 옵션’ → ‘국가 및 언어’ → ‘키보드 및 언어’ → ‘언어 설치/제거’를 통해 일본어 언어 팩을 다운로드받아 설치한다.
Windows에 원하는 언어를 설치하는 과정이다. 한번만 설치하면 계속 사용할 수 있기 때문에 무언가의 이유로 삭제를 하지 않는 한 다시 설치할 필요는 없다. 다만 Windows Vista와 Windows 7의 경우 Enterprise 및 Ultimate 버전에서만 언어팩 설치를 지원하니 주의하도록 하자.
Windows 8과 Windows 8.1에서는 제어판의 '언어'라는 항목을 들어가면 언어팩을 설치할 수 있으며, Windows 10에서는 '설정' 앱에서 언어 설정하는 항목에 들어가면 있다. 다만 저가형 중국제 태블릿에 주로 달려나오는 Single Language 버전에서는 이게 안 되니 주의하자. 그 외 Home이나 Pro 버전 등에서는 제약 없이 가능하다.
Windows 8과 Windows 8.1에서는 제어판의 '언어'라는 항목을 들어가면 언어팩을 설치할 수 있으며, Windows 10에서는 '설정' 앱에서 언어 설정하는 항목에 들어가면 있다. 다만 저가형 중국제 태블릿에 주로 달려나오는 Single Language 버전에서는 이게 안 되니 주의하자. 그 외 Home이나 Pro 버전 등에서는 제약 없이 가능하다.
- 로케일 변경: ‘제어판’ → ‘시계, 언어 및 국가별 옵션’(Windows 8은 '국가 또는 지역', Windows 10은 '시간 및 언어'. 이하 같음) → ‘국가 및 언어’(Windows 10은 '언어' → '관리 언어 설정') → ‘관리자 옵션’ → ‘시스템 로캘 변경’ → 로캘을 일본어(일본)로 바꾼다.
이 부분이 핵심이다. 다른 설정은 변경할 필요 없이 이 설정만 바꾸는 것으로도 대부분의 프로그램이 돌아가며, 다른 설정의 변경은 이 설정 하나만으로는 안 될 때 추가적으로 변경하는 게 좋다.
- 아래 2개의 설정은 극히 일부의 프로그램에서만 필요한 설정들이다. 이런 설정까지 건들어야 할 프로그램은 거의 없다. 가끔 위치 변경 대신 표준 시간대 변경을 요구하는 프로그램도 있는데, 역시 극소수다.
- 언어 설정 변경: ‘제어판’ → ‘시계, 언어 및 국가별 옵션’ → ‘국가 및 언어’ → ‘형식’과 ‘키보드 및 언어(표시 언어 선택)’ 두 부분을 일본어로 변경한다. Windows 8이라면 제어판의 '국가 또는 언어'에서 형식을 바꾼 다음 '언어'에서 일본어를 1순위로(즉 한국어보다 위에) 두면 된다. Windows 10이라면 '시간 및 언어' → '언어'에서 Windows 표시 언어를 일본어로 변경하면 된다.
- 위치 변경: ‘제어판’ → ‘시계, 언어 및 국가별 옵션’ → ‘국가 및 언어’ → ‘위치’를 일본으로 바꾼다.
7. 관련 문서
[1] AlphaROM 같은 미연시의 주력 복제 방지 장치는 이미 크래커들에게 깨진 지 오래다.