메뉴 건너뛰기

창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳

data가 전부 json으로 모여져 있어서 생각보다 쉽게 처리했습니다.


수정해야 할 건 rpg_managers.js 뿐입니다.


일단 변수 선언 부분에 적절하게 이걸 추가합니다.


var language = window.navigator.userLanguage || window.navigator.language;


이러면 language 변수에 현재 사용언어 코드가 들어옵니다.

참고로 한글은 ko입니다.


다음은 데이터 베이스 로드 부분을 수정해 줍니다.


DataManager.loadDatabase = function() {
    var test = this.isBattleTest() || this.isEventTest();
    var prefix = test ? 'Test_' : '';
    for (var i = 0; i < this._databaseFiles.length; i++) {
        var name = this._databaseFiles[i].name;
        var src = this._databaseFiles[i].src;
        if(language == "ko")
        {
            this.loadDataFile(name, prefix + src);
        }
        else
        {
            this.loadDataFile(name, "en/" + prefix + src);
        }

    }
    if (this.isEventTest()) {
        this.loadDataFile('$testEvent', prefix + 'Event.json');
    }
};


현재는 한국어/영어만 있다고 치고

한국어가 아닌 경우 무조건 영어 소스를 가져오게 했습니다.

영어 파일을 제대로 돌릴려면 data 폴더에 en폴더를 하나 만들고

json을 모두 복사한 뒤 한글을 전부 번역하면 됩니다.


마지막으로 맵 로드 부분을 수정해 줍니다.


DataManager.loadMapData = function(mapId) {
    if (mapId > 0) {
        var filename;
        if(language == "ko")
        {
            filename = 'Map%1.json'.format(mapId.padZero(3));
        }
        else
        {
            filename = 'en/Map%1.json'.format(mapId.padZero(3));
        }
        this.loadDataFile('$dataMap', filename);
    } else {
        this.makeEmptyMap();
    }
};


마찬가지로 한글(ko)일 때는 기본 맵을 로드해오고

아닌 경우는 en/ 폴더의 맵을 불러 옵니다.


이렇게 하면 언어에 따른 json을 불러와서 출력합니다.


actor_ko.pngactor_en.png

scene_ko.pngscene_en.png




json 파일에 언어만 있는 게 아니고 데이터도 있는지라

게임 제작 도중에 로컬라이징은 힘들겠고,

완성 후 한번에 번역하는 게 맞을 듯 합니다.

언어만 따로 파일을 뽑는 것도 가능하긴 하겠지만

그 작업량도 만만치 않을 듯 하고...

하지만 완성 후 계속 데이터 패치하거나 업데이트가 많을 거라면

텍스트만 따로 json으로 뽑는 걸 생각해보는 것도 좋을 듯 합니다.


아니면 특수문자를 이용해서 한 파일에 여러 언어 모두 때려박고 구분하는 방법도 있겠지만

이 경우 언어 수가 많아지면 보기 불편해질 듯.

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
65 여러분 질문있어요. 성심성의껏좀 알려주세요 흑흑 [6] 케르메스 2006-02-11 2022
64 [re] 혼돈님께 질문 혼돈 2007-12-25 2048
63 흥크립트로 만든 예제 [1] file 대슬 2007-12-01 2051
62 게임 만들때는 게임 기획을 해야 합니다. [7] 똥똥배 2008-02-12 2106
61 흥크립트로 만든 예제 2 [2] file 대슬 2007-12-01 2118
60 Divx6를 받아서 인코딩을 하려는데... 에러뜸... [3] 장펭돌 2008-02-09 2154
59 웹 프로그래밍을 배우려고 합니다. [2] Kadalin 2008-03-22 2171
58 조금씩 게임 소스가 완성 되어 가는데요. [2] 짜스터 2010-11-16 2188
57 흥크립트 Ver0.9 변수 안의 변수 기능 [2] 혼돈 2007-10-16 2208
56 '@클릭'이거 어떻게 사용하는거죠? [4] 네모상자 2008-01-26 2244
55 명령문 질문드립니다. [1] X-tra 2008-03-26 2244
54 저는 사실 이걸 잘 못해요. [3] 앟랄 2008-03-26 2282
53 흥크립트 0.9 새 기능 소개 [3] file 혼돈 2007-10-15 2289
52 흥크립트 키입력 질문 [1] A.미스릴 2008-03-15 2363
51 흥크립트 기초 질문. [2] 장펭돌 2007-12-03 2430
50 데이터 축소에 대하여 [2] 짜스터 2010-10-13 2430
49 그림 출력의 순서를 알고 싶습니다. [3] X-tra 2008-03-12 2466
48 이상하군요. [2] 대슬 2008-05-16 2490
47 2중 for문을 돌릴 때 [3] 똥똥배 2011-04-06 2539
46 퀴즈소스입니다 허클베리핀님 라컨 2005-08-23 2546