mir.pe (일반/밝은 화면)
최근 수정 시각 : 2022-03-15 14:34:08

Microsoft AppLocale

앱로캘에서 넘어옴
일본 게임 구동 관련 프로그램
{{{#!folding 펼치기/접기 로캘 변경 프로그램
Microsoft AppLocale NTLEA Locale Emulator
후커
Oh! text hooker AGTH ITH
아랄트랜스 VNR TwoControl
Textractor
텍스트 출력 프로그램
Cliphooker EX 에그헤드 아네모네
기타 프로그램
EZTrans XP Ehnd MORT
}}} ||



1. 개요2. 탄생 배경3. 윈도우 인스톨러를 망가뜨리는 문제와 해결법4. 설치하기5. 한계6. 윈도우 자체 기능으로 외국 로캘 프로그램 구동하기7. 관련 문서

1. 개요

비공식 다운로드 링크

AppLocale. 앱로캘. 통칭은 어플로케일. 한국에선 발음이 잘못 알려져 이렇게 불린다. 어플로케일이 아닌 로캘[1]인 이유를 알고 싶다면 애플리케이션 문서를 참고. #

마이크로소프트에서 개발한 언어 코드 호환 프로그램. 쉽게 말해서 자국 언어 코드와 호환이 되지 않아 깨져서 나오는 다른 나라 언어를 그 나라 코드에 맞춰 제대로 출력시켜 주는 프로그램이다.

주로 일본에서 개발된 프로그램[2]을 한국 PC에서 돌릴 때 사용되는 프로그램이며, 동유럽에서 개발된 일부 게임들( 맨 오브 워, 코삭 시리즈 등)을 구동할 때도 사용된다. 전자의 경우 애플리케이션 로캘을 사용해서 실행 파일 언어를 일본어로, 후자의 경우는 러시아어로 맞춰주면 오류를 해결할 수 있다. 영문 프로그램의 경우 미국이나 터키어로 설정해주면 된다.

하지만 실제로 주로 쓰였던 용도로 보면 MS께서 문자 인코딩에 절규하는 야겜 플레이어들에게 하사하신 신의 도구라고 해도 될 정도로 야겜( 미연시)에 자주 사용되었다. 이지트랜스, 아랄트랜스와 함께 삼신기라고 불리기도 했었다.

2019년 시점에선 XP시절에나 쓰이던 나온지 워낙 오래된 구닥다리 프로그램이고, 최신 윈도우에서는 실행조차 안 되는 프로그램이며 후술할 윈도우 인스톨러를 망가뜨리는 버그 등 버그도 많아 같은 용도의 프로그램인 NTLEA이나 Locale Emulator에 밀려서 거의 쓰이지 않는 편이다. 오히려 해당 프로그램들보다 기능과 호환성도 부족한 편이며 오늘날에는 보통 Locale Emulator의 사용이 추천된다. 가끔 앱로캘로만 동작하는 게임이 있긴 하지만 그런 게임은 거의 없고 후술할 윈도우 자체 기능도 있고 하니 굳이 불편함을 감수하며 앱로캘을 쓸 필요는 없다.

굳이 앱로캘을 사용하고 싶다면 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, 한글의 경우 MSHBIOS)을 메모리에 올리는 형식이었기에 지금보다는 간단했지만, 그러한 와중에도 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에서 마지막으로 사용했던 언어로 지정되어 글자가 깨지는 현상이 있다.

파일:cARR0Ch.png

현재까지 알려진 해결 방법은 다음과 같다.
"{6400fccf-fbc6-4471-8112-b31da4e449e0}"=dword:00000001||

대만에서 해당 오류를 수정한 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의 기본 언어나 시간대 등을 검사한다면 실행이 되지 않는다.

이러한 사례는 점차 늘어나고 있는데, 해외에서의 불법 복제를 막기 위한 안전장치 역할도 하지만[3] 일본 국내외의 압력을 피하기 위한 명분도 작용한다. 과거 레이프레이 같은 내용 면에서 논란의 소지가 있는 게임이 엉뚱하게 영국에서, 그것도 시간이 지난 뒤에 정치권의 이슈가 되고 그것이 역으로 일본 내부에서의 규제 강화로 이어진 사례가 대표적인데, 전연령판이 아닌 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 자체가 해당 외국어(이 예시의 경우 일본어) 버전으로 구동되기 때문에 거의 대부분의 명령어가 해당 외국어로 표시되며, 원하는 외국어 애플리케이션의 구동이 가능해진다. 다시 우리말로 바꿀 경우에도 위의 예시와 같은 요령으로 하면 된다.

7. 관련 문서


[1] locale의 철자를 보고 "로케일"로 읽기 쉬운데 실제 발음은 "로캘" 또는 "로칼"이다. [2] 게임이든 유틸리티든 일본 프로그램은 PC가 일본 언어 코드로 되어있지 않으면 프로그램이 아예 설치가 되지 않거나 설치가 되더라도 글자가 깨져나오는 경우가 많다. 반대로 한국에서 개발된 프로그램도 미국 PC나 일본 PC에서 구동하면 같은 문제가 발생한다. 전세계에서 언어 코드 불문으로 구동되는 프로그램은 세계 공용어인 영어로 개발된 프로그램 정도밖에 없으며, 영어조차도 극히 일부 프로그램의 경우 미국 언어 코드로 PC 설정을 바꿔줘야만 실행이 가능할 때가 있다. [3] AlphaROM 같은 주력 게임 복제 방지 장치는 이미 크래커들에게 깨진 지 오래다.