이번 업데이트로 이전까지 게임 데이터 내에 문자열이 박혀 있던 구조가

따로 텍스트 파일을 불러와서 적용시키는 구조로 바뀌어서 기존 언어패치 방법+모드 자체가 싹 작살났을 거임


겜 폴더에 Locale 폴더가 생겼길래 오히려 이렇게 되면 모딩툴 없어도 되는거 아닌가 싶어 살펴보니

예상대로 전에 비하면 아주 간단하게 언어팩 제작/적용이 가능하도록 풀려 있더라


다만 제목에도 써놨듯이 실제 한패를 새로 만들어온 건 아니고,

제작자들이 (아직 시도 안 해 봤다면) 보고 적용할 수 있게 기술적인 부분을 정리해봄






(대충 영어파일 복사해서 티 나는 부분만 끄적이고 찍음)


이하 모든 파일명/경로는 스팀뭐시기\common\Dyson Sphere Program\Locale 을 베이스로 깔고 시작함

(Header.txt 를 찾으라고 하면 실제 경로는 스팀뭐시기\common\Dyson Sphere Program\Locale\Header.txt 을 지칭)


또 하나 중요한 포인트는 모든 텍스트 파일은 인코딩 "UTF-16 LE BOM"으로 작성되어 있으니

이런거 많이 해봤으면 알겠지만 그대로 따라가야 문제가 안 생기겠지?


[ Header.txt ]


다른건 볼 필요 없고 3행과 4행의 언어 엔트리만 보면 된다.

...

2052,简体中文,zhCN,zh,1033,1

1033,English,enUS,en,2052,0

...

= 언어ID,표시명,언어코드4자리,언어코드2자리,뭔지모름,순서?


2052로 시작하는 라인 위에

1042,한국어,koKR,ko,1033,2 라고 넣어준다.


[ 실제 데이터 (1033, 2052 폴더) ]


기본 내장된 영어, 중국어 파일을 살펴보면 자기 언어ID로 된 폴더 안에

[outsource], [user], base, combat, dictionary, prototype 텍스트 파일들로 나뉘어 실제 텍스트 데이터가 있다.


1033=영어, 1042=한국어, 2052=중국어


1, 2, 4번째 파일은 비어 있으니 무시하고, 각 파일은 같은 데이터 구조를 가진다.

...

点击鼠标建造(탭)(탭)3(탭)Click to build
无法在此建造(탭)(탭)3(탭)Can't build here
物品不足(탭)(탭)2(탭)Lack of item

...

= 키(탭)(탭)숫자값(탭)텍스트값

반복


키와 숫자값 사이 탭이 2개임에 주의.

숫자값은 주로 3이랑 5가 많이 보이는데 뭔지 모르겠으니 기본값 그대로 두고,

기존 json에 있던 k-v pair 데이터만 가져다가 뒤집어씌우면 완성.


(기존 json)

...

"点击鼠标建造": "클릭하여 건설하기",
"无法在此建造": "건설 불가능",
"物品不足": "아이템 부족"

...


(새 형식)

...

点击鼠标建造(탭)(탭)3(탭)클릭하여 건설하기
无法在此建造(탭)(탭)3(탭)건설 불가능
物品不足(탭)(탭)2(탭)아이템 부족

...


근데 base, dictionary, prototype 3개 파일로 나눠놨기 때문에 1033을 복사해서 1042로 이름만 바꾼 베이스를 가지고,

세 파일을 먼저 읽어서 적절한 키가 있는 곳에 이전 한패 텍스트로 뒤집어씌우는 식으로 작업하게 되겠지


[ Names 폴더 ]


번역용 참고 노트인 거 같다. 죄다 짱개어라 못 알아먹는건 둘째치고, 실제 출력되는 부분이 아니니 무시해도 된다.


이후 배포할 땐 작업한 1042 폴더랑 Header.txt만 압축해서 겜폴더\Locale에 집어넣으라고 하면 된다.

그것도 못 하는 흙더미 능지들을 위해 Locale폴더 통째로 뿌리던가..


==============================


친절한 설명이랑은 거리가 있는 거 같긴 하지만 한패게이들 작업에 조금이나마 도움 됐으면 좋겠다


사실 글에서 설명한 일련의 과정을 하는 프로그램 만들어 돌려서

기존에 있는 데이터는 넣고 새로 추가된건 영어 그대로 둔 베이스 한패를 뿌리는게 확실한데


바쁨 ㅅㄱ