리눅스에서 이런저런 프로그램을 쓰다보면 난감할 때가 많습니다. 분명 일부 글자는 한글로 잘 뜨지만 중간중간 영어나 다른 외국어가 끼어있는 경우도 있고 가끔 멀쩡히 한글로 뜨던것이 갑자기 영어로 덜컥 나오면서 멘붕을 먹게하는 경우도 있지요.


사실 오픈소스 프로그램들은 대부분 i18n이라해서 국제화 방식을 사용합니다. 시스템의 국가설정을 읽어서 이에 맞춰 해당 언어로 인터페이스를 갖추는 것 입니다. 윈도우에서도 반디집이나 한글2007 이후 버전이 국가 설정을 읽어서 언어 설정을 자동으로 하는 대표적인 프로그램입니다. 윈도우 영문판을 설치하거나 국가설정을 영어로 맞추면 반디집의 인터페이스가 자동으로 영문으로 바뀌는 것을 확인 할 수 있습니다.


물론, 옛날 옛적에 만든 프로그램은 그런 것을 1도 신경 안 썼기 때문에 한글판이면 한글판이 필요했고 영문판과 한글판의 라이센스가 따로 논다던지 하는 문제가 있었는데(대표적인 예가 포토샵 구버전 영문판 구매하고 한글판 설치하면 안 먹힙니다.) 요즘은 어느 국가에서 구입을 하더라도 한국어 인터페이스를 갖출 수 있는 것입니다.


문제는...


상용 프로그램이면 몰라도 커뮤니티의 기여와 여러사람들의 노력으로 굴러가는 오픈소스 프로그램 특성상 기존 번역가가 빠지면 번역이 옛날 버전 수준으로 만들어 진다는 점입니다.


대표적인 프로그램이 PlayonLinux입니다.


분명 기본 인터페이스는 한국어로 잘 나옵니다.


어디는 한국어화가 되어있고 어디는 한국어화가 안 되어있는 난감한 상황, 이러고 3년을 썼다.

하지만 특정 인터페이스는 영문으로 출력되는 것을 알 수 있습니다. 그것도 제일 중요한 프로그램 설치 중 메시지는 100% 영문입니다. 심지어 일부 메시지는 한국어와 영어가 혼재되어있습니다.


이유는 PlayonLinux는 계속 업데이트 되었지만 업데이트되며 추가된 텍스트가 번역이 되지 않은 것입니다. 사실 이런 프로그램이 상당히 많습니다. 그러니까 해당 언어권 사람의 기여가 필요합니다.


그러려면 우선 po파일에 대하여 알려드려야겠네요.


po파일은 말 그대로 번역파일입니다. 소스에서 문장을 뽑아서 이를 적용할 수 있게 만들어진 파일입니다. 그냥 UTF8 혹은 UTF16으로 인코딩된(당연히 유니코드계열 인코딩이겠지요. 멍청이가 아닌 이상) 텍스트 파일입니다.


이런 식으로 구성되어 있습니다. (예시는 PlayonLinux의 ko.po입니다.)


# Korean translation for playonlinux
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the playonlinux package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: playonlinux\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2015-08-31 19:00+0200\n"
"PO-Revision-Date: 2014-11-25 09:09+0000\n"
"Last-Translator: Hyun-Seok, Choi <chs1217@gmail.com>\n"
"Language-Team: Korean <ko@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2015-09-01 05:11+0000\n"
"X-Generator: Launchpad (build 17690)\n"

#: Capture plugin:2, Detour plugin:4
msgid "Which application do you want to apply the modification to?"
msgstr "어느 어플리케이션에 수정 사항을 적용할 것 입니까?"

#: Capture plugin:3
msgid ""
"This plugin wil allow you to capture you applications under PlayOnLinux"
msgstr "이 플러그인은 PlayOnLinux 아래의 어플리케이션을 캡쳐할 수 있습니다."

#: Capture plugin:4
msgid "Capture menu (OpenGL)"
msgstr "캡쳐 메뉴(OpenGL)"

#: Capture plugin:5
msgid "Capture menu (not OpenGL)"
msgstr "캡쳐 메뉴(not OpenGL)"


제일 위쪽에 언제 누가 번역을 했는지 적혀있고 아래로 내려오면서 실제 번역될 문장과 번역된 문장이 있는 것을 알 수 있습니다.


그럼 이 po파일만 있으면 되느냐 하면 그건 아니고 이것을 mo파일로 컴파일 해야합니다.

msgfmt란 프로그램이 그런 역할을 합니다.


msgfmt XXX.po -o XXX.mo

이렇게 하면 mo 파일이 만들어집니다.


/usr/share/locale 여기로 들어간 다음 하위 폴더를 찾아보면 수많은 mo파일들을 볼 수 있는데 이것이 바로 지금까지 우리가 언어팩이라며 설치한 수많은 국가들을 위해 만들어진 파일입니다. 여기에는 Gnome이나 MATE, KDE의 프로그램도 있고 심지어 apt-get의 메시지도 번역되어 들어가 있습니다.


/usr/share/locale/ko/LC_MESSAGES

여기에 가면 수많은 한국어 번역 파일들이 있고 그렇다는 것은 여기에 파일명에 맞춰서 mo파일을 넣으면 해당 프로그램이 한국어로 뜨게 된다는 것을 의미합니다.


그리고 대다수 프로그램들은 i18n지원을 위해서 pot파일이라하여 po파일의 템플릿을 제공합니다.


즉, 그냥 양식을 줄테니 번역만 해서 달라 이겁니다.


그런데 이걸 그냥 텍스트에디터로 작업하려고 하면 노가다가 극심하겠지요. 심지어 기존 번역이 부족해서 추가하려고 한다면? 맨 땅에 pot파일을 가져와서 처음부터 다시 번역을 해야 할까요? 그랬다간 번역자들이 죽어 나갈겁니다. 그래서 po편집전문 프로그램이 있습니다.


poedit https://poedit.net/


아주 간단합니다. 이것을 쓰면 됩니다. 심지어 한글로도 잘 번역되어 있으니(당연하다면 당연한 것일까요?) 편하게 쓸 수 있습니다. 한국에서는 Wordpress로 자체 사이트 운영하는 사람들이 쓴다고 소개하던데 본래 목적은 i18n지원이 목적입니다.


sudo apt install poedit


이렇게 하면 설치됩니다.


당연하게도 한국어 번역이 잘 되어있다. 만약 번역이 안 된 부분이 있다면 poedit으로 poedit의 한국어화를 하도록 하자.

그냥 po파일을 불러와서 편집만 하면 되는 아주 간단한 프로그램입니다. 윈도용은 유료니 뭐니 하는 이야기가 있던데 그건 협업 시스템 이야기고 우리는 그냥 개인적으로 이용할 테니 무시하도록 합시다.


일단 하나를 예시로 들어봐야겠네요.


아까 위에서 말했던 PlayonLinux를 이용해보도록 하겠습니다.

보통 오픈소스 프로그램들은 github에서 소스코드를 제공합니다. 물론 po파일도 같이 제공합니다.


PlayonLinux의 po파일들은 여기 있군요.

https://github.com/PlayOnLinux/POL-POM-4/tree/master/lang/po


보통 소스트리에서 po란 폴더 혹은 lang이란 폴더가 po파일들이 있는 폴더일 가능성이 높습니다. 여기서 두 가지 파일을 다운로드 받아봅시다.


하나는 번역이 부족한 한국어 번역파일 ko.po

다른 하나는 프로젝트에서 제공하는 템플릿인 pol.pot 파일입니다. 보통 템플릿 파일은 확장자를 pot으로 만듭니다. 만약 pot이 없다면 en.po를 이용해야 합니다. (그런데 보통은 pot을 제공합니다. 정 없으면 소스트리에서 gettext를 통해 pot을 만들어야합니다.)


Raw버튼을 누르면 github에서 실제 파일이 다운로드 가능하다.

해당 파일을 github에서 연 뒤에 RAW버튼을 누르면 파일을 다운로드 받을 수 있습니다. 파일이 다운로드 안되고 그냥 열린다면 오른쪽 버튼을 누르고 다른 이름으로 저장을 누르면 됩니다. 어차피 그냥 일반 텍스트 파일이니까요.


그럼 이것을 poedit으로 열어봅시다.


poedit을 열고 ko.po파일을 열어봅시다.

보시면 아시겠지만 번역은 완벽히 된 것처럼 보입니다. 하지만 이것은 오래된 버전에 맞춰져서 만들어진 번역입니다. 최신판에 맞춰서 바꿔야겠지요.


카탈로그 - POT파일로 업데이트를 누르고 다운로드 받은 pol.pot파일을 선택하면...


번역 숙제가 와르르 쏟아집니다.

이제 이것은 숙제입니다. 일일이 노가다해서라도 번역을 해야합니다. 그러고 나면 자동으로 mo파일이 만들어집니다. 저장 버튼을 누르면 알아서 컴파일까지 다 해주더군요.


번역이 완료된 뒤에 해당 mo파일을 pol.mo로 바꾸고 /usr/share/locale/ko/LC_MESSAGES 여기에 넣으면...


PlayonLinux의 번역이 완료됩니다. 가능하다면 po파일을 해당 프로젝트 관리자에게 보내거나 직접 github에 branch해서 올리는 것도 방법입니다. 그러면 관리자가 해당 branch를 master로 합쳐줄 수 있겠지요.


다른 프로그램도 비슷합니다. 아직 한국어 번역이 되지 않은 수많은 프로그램을 이런 식으로 한국어화 할 수 있습니다. 예외가 몇 가지 있기는 대부분은 이렇게 번역이 가능합니다. 심지어 이것을 웹으로 할 수 있게 만든 weblate란 프로젝트도 있습니다. 이쪽은 CSV형태로도 가능하더군요!


영어 능력자이신 한국인, 취미로 영어 번역을 하시는 분, 영어를 쓰시면서 한국어가 되시는 분, 그냥 한국어가 되는 영어권 사람 등등 그리고 오픈소스를 사랑하는 한국어 사용자 분들 이런 식으로 작은 기여를 통해 오픈소스 세계의 한국을 만들어봅시다.

,

이전에 RWBY:Grimm Ecllipse란 게임을 우분투에서 실행 하는 방법에 대해 공개한 적이 있었습니다.

http://moordev.tistory.com/221


이 게임이 일단 영어권에서 만들어진 만큼 언어에 문제가 있었는데 일본어, 중국어 번체, 스페인어 등의 다양한 언어를 지원하더군요. 문제는.. 한국어는 없습니다.


그렇다고 괜찮은 이 게임을 그냥 외국어로만 하기는 좀 그렇더군요. 이 참에 조금 손을 보기로 했습니다.


우선 게임 분석을 해야겠지요. 스팀의 설치된 폴더에 가면 rwby_ge_Data란 폴더가 있습니다. 이 쪽을 들여다보면 assets란 파일들이 주르륵 나와있습니다.


이건 보통 Unity3D 엔진으로 만들었다는 증거가 됩니다. 그렇다면 Unity3D게임의 한글화 기법을 적용하면 되겠군요.


아쉽지만 Unity3D 게임은 한글화가 쉽지 않습니다.

우선 assets파일을 풀어내는 프로그램은 존재합니다. 다시 패킹도 가능하고요. UnityEX란 프로그램인데

UnityEX.rar

이것으로 assets파일을 풀어내고 다시 합칠 수 있습니다.


하지만 풀어냈다고 우리가 아는 그런 포맷이 튀어나오는 것이 아니라 확장자가 *.-숫자 형태로 된 파일이 튀어나옵니다.


물론 이미지는 dds포맷으로 풀 수 있고 일부 텍스트는 txt로 나오기도 합니다.(NGUI같은 라이브러리는 txt를 쓴다고 합니다. 하지만 이 라이브러리를 썼다는 보장이 없다면...) 그럼... 노가다 해서 알아내야지요...


그래서 알아낸 것이 아래와 같습니다.


sharedassets0.assets

resources.resource


이 두 파일이 핵심입니다.


그 중에서 sharedassets0.assets는 안에 TTF 파일을 가지고 있어서 폰트 수정을 위해 필요한 파일이고 resources.resource 파일에는 로컬라이징용 대사파일이 있습니다.


UnityEX로 해당 파일을 풀면 어마어마한 양이 튀어나오는데 sharedassets0.assets에서는 TTF파일만 찾아서 우리가 아는 한글폰트(나눔고딕이나 서울남산체, NotoSans 등...)으로 파일을 바꿔치기 해주면 해당 파일이 할 일은 끝납니다. 그리고 Import all file 버튼을 누르면 한글폰트가 담긴 파일이 나옵니다.


문제는...


resources.resource에 들어있는 스크립트입니다.


이걸 알아내기까지 좀 노가다했습니다.


옆의 사본은 무시. 그냥 내가 작업하다 날려먹을까봐 백업한 것.

resources_00001.-59 이 파일이 핵심입니다.

사실 여기서 제일 스크립트 파일 중에서는 용량이 크거든요. 그래서 헥스에디터로 열어봤더니 다행히도 이것이 Localize 어쩌고 하는 파일이더군요.


같이 들어있는 ARIAL.ttf는 무시해도 좋지만 혹시나 해서 이것도 나눔고딕으로 바꿔치기 했습니다. (ARIAL하고 나눔고딕이 제일 흡사하더군요.)


이걸 헥스에디터로 열고


한글로 덮은 부분은 본래 일본어가 있던 부분

인코딩을 UTF-8로 해 놓으니 온갖 언어가 다 보입니다.


여기서 전 일본어 부분을 덮기로 했습니다. 왜냐하면 UTF-8의 형태 때문인데 ASCII코드와의 호환을 위해 기존 ASCII코드는 1바이트만 차지하지만 나머지 글자는 3바이트를 차지하는 구조로 한글은 UTF-8에서 3바이트를 차지합니다. 그렇다는 것은 영어부분을 덮으면 본래 대사 길이의 1/3만 쓸 수밖에 없지만 일본어는 기존 대사 길이를 거의 다 쓸 수 있습니다. 게다가 특수문자는 ASCII의 반각(1바이트)을 거의 이용하는 한글과 달리 일본어는 전각(3바이트...)를 쓰곤 해서 번역된 문구를 쓸 공간이 매우 넉넉합니다.


이렇게 헥스에디터에서 노가다 작업을 하고 다시 UnityEX에서 패킹을 한 다음 한 번 테스트를 해봤습니다.


일본어 부분을 덮었기에 설정에서 일본어로 설정을 했습니다. 아직 번역이 안 된 부분은 일본어로 나오기에(덕분에 무슨 말인지...) 문제가 있지만 번역을 한 부분은 한국어로 잘 나오네요.


폰트는 서울남산체, 본고딕(NotoSans CJK)을 썼습니다. 헥스에디터로 노가다하면 충분히 한글화가 가능하겠네요.

,


지난번에는 나만의 배포판을 만들기 위해 Customizer를 설치했었습니다.

참고 :http://moordev.tistory.com/187


이번에는 이것을 이용해서 우분투 기반의 배포판에 한글입력기를 설치하고 일부 패키지를 설치하는 식으로 조금씩 커스터마이징을 해보도록 하겠습니다.


그래서 이번에 해볼 배포판은 바로 위에 나와있는 ElementaryOS입니다. (https://elementary.io/)


굉장히 예쁘고 Mac스럽기 때문에 익숙함에서 오는 묘한 편리함이 있습니다. 하모니카에서도 Plank+Numix버전이 바로 ElementaryOS의 데스크탑인 Phanteon을 설치한 물건이었습니다.


ElementaryOS는 0.3 freya까지는 한국어 언어팩 설치가 힘들었지만 0.4 loki부터는 처음부터 한국어 언어팩을 내장하는 등 굉장히 편리해 졌습니다. 실제로 어렵지 않더군요.


그럼 시작해 보겠습니다.


우선 ElementaryOS의 ISO를 다운로드 받아야겠지요?

https://elementary.io/ko/


구입이라고 써있어서 새삼 놀라지는 마세요. 구입가격은 0부터 시작할 수 있습니다. 그러니까 0을 적고 elementaryOS다운로드 버튼을 누르셔도 된다는 의미입니다.

얼마를 적던지 상관이 없다. 그저 0이상의 정수를 적기만 하면 된다. 가벼운 마음으로 0달러를 적어도 되고 진짜 마음에 든다면 100달러를 투척해도 상관없다는 의미다.

ISO의 다운로드가 완료되었다면 이제 customizer를 실행할 차례입니다.


터미널을 열고 아래와 같은 명령을 내리세요.


sudo customzier-gui


이렇게 해주시면 터미널에 진행 상황이 뜨고 문제가 생겼을 때 메시지를 확인 할 수 있어서 편리합니다.


ISO선택 버튼이 보이실 겁니다. 저것을 누르고 아까 다운로드 받은 ElementaryOS의 ISO이미지 파일을 선택하시면 터미널에 ISO의 압축풀기 및 일부 뼈대파일 구축을 위한 준비를 해줍니다. ISO압축해제 데이터의 경로는 /home/FileSystem이고 ISO부팅을 위한 뼈대파일은 /home/ISO입니다. 세팅 탭에서 이것은 바꿀 수 있습니다만 저는 기본 상태 그대로 사용하겠습니다.


압축이 풀리는 중... 만약 터미널을 같이 안 띄웠으면 얼마나 진행되었는지 알 수가 없어서 답답했을 것이다.

커스터마이징 작업이 준비가 되었다면 제일 먼저 하는 일은 세팅탭에서 chroot의 국가및 언어설정을 한국어로 설정하는 것입니다.


위치라고 되어있는데 아마도 Locale의 번역을 그냥 이렇게 한 것 같다. 국가 설정? 이런 것이 낫지 않았을까.

사실 이것은 배포판의 기본 Locale 설정과 아무 관계가 없지만 이후 터미널 작업시 그나마 한국어로 작업하는 것이 좋기 때문에 하는 것입니다. 만약 귀찮다면 이 부분은 넘어가도 좋습니다.


다시 메인 탭으로 넘어와서 소스 수정 버튼을 눌러봅시다. 여기서 소스는 저장소의 소스를 말합니다. 즉, 저장소의 서버 주소를 말하는 것이지요. 배포판에 따라선 여기서 수정할 수 없고 추가 탭의 파일시스템 탐색으로 들어가 /home/FileSystem/etc/default/apt/source.list.d/안에 있는 파일을 수정해야 할 수도 있습니다. (리눅스 민트가 대표적)


다행히 ElementaryOS는 우분투와 동일하게 source.list 파일에 저장소를 적어두었습니다.


주소들이 대부분 http://archive.ubuntu.com/ubuntu 이군요. 여긴 공식저장소 서버로 여기서 패키지를 받아오려면 한참이 걸립니다. 따라서 여기를 한국서버로 바꾸겠습니다.


일반적인 방법으로는 archive.ubuntu.com을 kr.archive.ubuntu.com으로 바꾸고 security.ubuntu.com은 그대로 두는 방법이 있습니다.


지에디트(gedit - 그놈의 기본 텍스트 에디터)나 Pluma(MATE계열 기본 텍스트 에디터)를 기준으로 검색-바꾸기를 누르신다음


이렇게 해주시고 모두 바꾸기를 누르시면 됩니다. 일반적인 방식입니다.


또 다른 방법으로는 그냥 아는 주소로 갈아치우는 방법입니다. ftp.daumkakao.com 이 국내 2위의 포털답게 굉장히 속도가 빠른데요. 그냥 이걸로 갈아치우면 패키지 받아오는 속도가 정말 빠릅니다. 


저는 아래의 방식을 추천합니다. 빠른 버전업도 중요하지만 업데이트 작업 속도가 빠른 것도 중요하거든요.


이제 저장 버튼을 누르고 잠시 기다리면 Customzier 창이 정상으로 돌아올 것입니다. 이제 다음 작업은 기본 국가 설정을 한국으로 하는 것입니다.

우선은 파일조작이니 추가 탭에서 파일시스템 탐색 버튼을 누릅시다.

Customizer에서 터미널과 함께 자주 쓰는 버튼


그러면 관리자 권한으로 /home/FileSystem으로 된 파일 매니저가 실행이 될 겁니다.


여기서 etc/default폴더로 들어가면 locale이란 파일과 keyboard 파일이 있습니다. 파일명을 보시면 이 두 파일이 국가설정과 키보드 배치에 관여하는 파일이라는 사실을 눈치 챌 수 있을 겁니다.


이번에 수정 되어주실 두 분



우선 locale파일을 열면 아무것도 적혀있지 않거나 영어로 되어있을 것입니다.

그것을 이렇게 바꿉시다.


우선 locale파일

LANG=ko_KR.UTF-8

이렇게 적어주시면 됩니다.


그리고 keyboard 파일은 이렇게


XKBMODEL="pc105"
XKBLAYOUT="kr"
XKBVARIANT="kr104"
XKBOPTIONS=""

BACKSPACE="guess"


여기서 한 가지 알아두셔야 할 것이 있는데요. XKBVARIANT="kr104"은 노트북 용으로 오른쪽 Alt키를 한/영키를 대신할 때 사용합니다. 따라서 일반 키보드 사용자 분들은 XKBVARIANT="" 이렇게 지워주셔야 합니다.


그리고 이왕 하는 김에 시간대도 설정하지요. /home/FileSystem/etc에 있는 timezone이란 파일을 열면 etc/UTC라고 써있을 것입니다.

Asia/Seoul로 고쳐주시면 됩니다.




일단 큰 작업은 끝났고 터미널로 돌아가기 위해서 파일 매니저를 닫읍시다.

그러면 비활성화 상태였던 customzer에 생기가 돌아옵니다. 이제 메인 탭으로 가서 터미널 버튼을 누르도록 합시다. (사실 마음먹고 하면 터미널의 nano나 vi 만으로도 작업이 가능하지만 일단 쉽게 하기 위해서 파일매니저를 통한 작업을 먼저 했습니다.)


먼저 수정된 저장소로부터 패키지 목록을 받아올 것입니다. 왜냐하면 한글 입력기와 몇 가지 언어팩을 설치 해야하니까요.


앞에 sudo를 안 써도 되는데 습관이다.

apt-get update


정상적으로 소스 수정을 했다면 아무 문제 없이 패키지 목록을 받아올 것입니다.


우분투나 쿠분투, 루분투의 경우에는 이 단계에서 한글 언어팩을 설치하는데 elementaryOS의 경우에는 이미 다 설치 되어 있어서 바로 다음 작업으로 넘어갈 수 있었습니다.


사실 한글 언어팩을 설치하는 명령은

apt-get install `check-language-support -l ko`


이겁니다. 그런데 elementaryOS는 필요한 언어 팩은 다 설치가 되었기 때문에 아무 반응이 없습니다. 좋은 것입니다. 다음 Target에서는 분명히 저 명령을 쓸 일이 생기겠지요.


그 다음 다시 한번 국가 설정을 하도록 합시다. 사실 안 해도 문제는 없을 것 같은데 혹시 몰라서 한 번 더 하는 것입니다.


dpkg-reconfigure locales


여기서 ko_KR.UTF-8를 찾아 열심히 선택하시고 Space bar를 누른 다음(그럼 별표가 생길 겁니다.) Tab키를 눌러서 확인 버튼을 누른다음 기본 로케일을 ko_KR.UTF-8을 선택하고 다시 Tab키를 눌러서 확인에 enter를 누르시면 됩니다.


그러면 로케일을 생성한다면서 어쩌고 저쩌고 한참 걸리는데 보통의 우분투는 영문 기본(en_GB.UTF-8)과 ko_KR.UTF-8만 나오는데 elementaryOS는 그냥 로케일을 다 때려넣었더군요. 그냥 배포판 특징이라고 생각합시다. 말 그대로 초보자용 OS니까요.


이걸로 힘들었던 국가설정은 끝났습니다. 이제 한글 입력기를 설치합시다.


저는 한글 입력기로 fcitx를 사용하겠습니다. fcitx가 설정이 편하거든요. 기본 한국어 설정도 좋고요. 만약 uim을 원하시는 분이 계신다면...직접 한번 해보시는 것을 추천합니다.


fcitx를 설치합시다.

apt-get install fcitx fcitx-hangul

이제 뭔가가 주루룩 설치되겠지요? 아까 국가 설정을 해놓았기 때문에 알아서 한국어 설정까지 끝내버립니다. 그래서 제가 편하다고 하는겁니다. 국가 설정을 보고 알아서 입력기 설정을 해버리거든요.

뭔가 이것저것 많이 설치하는 중...



이제 한글 입력기도 설치가 끝났으니 다른 것을 하나 더 해볼까요?


elementaryOS는 기본 웹브라우저로 Epiphany라는 물건을 씁니다. 그런데 이게 뭔지 아시나요?


사실 그놈 데스크탑의 기본 웹브라우저인데 Firefox나 Chrome같은 워낙 대단한 물건들이 많다보니 상대적으로 묻힌 비운의 브라우저입니다. 비슷한 처지인 Konquerer(KDE의 기본 브라우저이자 파일 매니저)는 그나마 KDE를 쓴다면 다용도로 쓸 수 있어서 그나마 쓰이지만 Epiphany는 아쉽게도 확장성은 Firefox에 밀리고 성능은 Chrome에 밀리며 가벼움은 midori에 밀리는 아무튼 그런 물건입니다.


제 생각에 그냥 Epiphany따윈 지워버리고 Firefox를 설치하는게 좋을 것 같습니다. 그럼 이 부분도 마저 작업을 하도록 합시다.


apt-get remove epiphany-browser

apt-get install firefox

apt-get autoremove


일단 여기까지 하시면 firefox를 설치할 수 있는데 여기서 한 가지 더 해주셔야 합니다. Firefox의 한글 언어팩을 설치 안 했거든요.


apt-get install `check-language-support -l ko`


이렇게 하면 firefox의 한글 언어팩도 마저 설치됩니다.


여기서 필요하면 Flash도 설치할 수 있겠지만 2017년이 된 지금 Flash는 필수가 아닌 선택이 되어 버렸으니 이쪽은 넘어가도록 하겠습니다. 사실 adobe가 Flash지원을 다시 하기는 헀지만 Chrome의 pepper와 비교해서 어떤게 나을지는 알 수가 없기도 하고 요즘 웹에서 Flash가 이젠 딱히 필요 없기도 해서 그냥 안 하기로 했습니다.


굳이 하시겠다면


apt-get install flashplugin-installer


이렇게 하시면 됩니다.



이제 터미널에서 나와야겠지요. 터미널 창은 그냥 닫지 마시고


exit


명령으로 나와주셔야 합니다. 그래야 chroot가 무사히 풀립니다. 안 그러면 꼬입니다.


이제 다 되었을까요? 아니요.

하나 더 남았습니다. 우린 아까 한글입력기인 fcitx를 설치했지만 이것을 입력기로 사용한다는 설정을 하지 않았습니다. 그리고 elementaryOS는 Plank라는 Dock을 사용하는데 Dock에 Firefox도 등록하지 않았습니다. 이 두 작업을 마저 하도록 합시다.


이제 남은 작업은 USER MODE SETTING 즉, home/유저명 폴더 안에 있는 세팅을 미리 하는 작업입니다. 해당 작업은 /etc/skel 안에 있지요.(skel은 skeleton의 줄임말입니다.)


customizer의 추가 탭에 들어가서 다시 파일시스템 탐색 버튼을 누르도록 합시다. /etc/skel 파일내를 파일매니저를 통해 수정할 생각이거든요.



Customizer에서 터미널과 함께 자주 쓰는 버튼


사실 터미널을 닫아다가 열었다가 하는 것이 귀찮으신 분들은 관리자 권한으로 따로 파일 매니저를 열어서 작업하기도 합니다. 하지만 편한게 편한거라고 이런 식으로 왔다갔다 하는 편이 동시 작업 할 일이 없어서 더 안전합니다.


/home/FileSystem/etc/skel 순으로 들어가 봅시다.


아무것도 안 보일 텐데요. 숨김파일을 보이게 하면 될 겁니다.


.xinputrc 파일은 내가 미리 만든거다. 오해하지 말자. 없으면 만들면 되는거다.

안 보였던 파일과 폴더가 보일겁니다. elementaryOS가 아닌 다른 배포판의 경우에는 이것조차 없는 경우가 있는데 그러면 만들면 됩니다.


우선 한글 입력기 설정을 위해서 .xinputrc란 파일을 하나 만듭시다.


그리고 안의 내용은


run_im fcitx


이렇게 적으시면 됩니다. 이제 한글 입력기 설정도 끝났습니다.


이제 Plank설정을 하러가 볼까요?


여기 보시면 .config이란 폴더가 하나 보입니다. 누가봐도 설정파일이 들어있는 폴더란 느낌이 다분하죠?


여러분이 사용하시는 리눅스 데스크탑에는 .config 폴더안에 어마어마하게 많은 것이 있을 것입니다. 여기서는 그냥 plank 하나만 있군요. 안에 폴더가 계속 나오는데


/home/FileSystem/etc/skel/.config/plank/dock1/launchers


그냥 여기로 갑시다.


dockitem이란 파일이 많군요. 여기서 epiphani.dockitem이란 파일이 하나 있는 것을 알 수 있습니다.


우린 아까 Epiphany따윈 필요없다고 그냥 날려버리고 Firefox를 설치했지요. 그러니까 epiphany대신 firefox로 바꾸도록 합시다.


일단 epiphany.dockitem 파일은 이제 필요없으니 지워버립시다.

그리고 새로 firefox.dockitem이란 파일을 하나 만듭시다.


그리고 그 내용은


[PlankDockItemPreferences]
Launcher=file:///usr/share/applications/firefox.desktop


이렇게 적으시면 됩니다.

이게 무슨 뜻인지 궁금하시다면  /usr/share/applications란 폴더에 들어가면 엄청난 수의 desktop파일이 있는데 이것이 바로 우리가 메뉴에서 보던 그 아이콘들입니다. 바로 해당 Dock의 아이템은 아 아이콘인 것이다. 라는 의미입니다. 맘먹고 하면 다른 것도 만들 수 있겠지요.


여기까지 왔으니 추가 폰트를 미리 넣는 것도 한번 해볼까요?


저장소에서 설치 지원이 되는 폰트면 아까 터미널에서 작업을 미리 할 수 있었겠지만 만약 그렇지 못한 폰트라면 수동으로 넣어줘야 합니다.


customizer로 실행된 파일 매니저로

/home/FileSystem/usr/share/fonts

여기로 들어가 봅시다.


여기에 보시면 X11, truetype, opentype 등등 많은데요. 여기서 보통은 TTF파일을 많이 사용할테니 truetype 폴더에 들어가봅시다. 그러면 여기에도 뭔가 많이 있습니다.


여기서 폴더별로 정리해서 사용하고 있다는 것을 알 수 있는데 여기에 우리만의 특별한 폰트들을 넣어보도록 하지요.


여기에 폴더를 하나 만들어봅시다. 이름은... MY FONTS 정도가 괜찮겠군요.


그리고 이 안에 그냥 추가하고 싶은 폰트들을 넣으면 되는 겁니다. 저 같은 경우에는 서울 서체(http://www.seoul.go.kr/v2012/seoul/symbol/font.html)와 가짜굴림(http://moordev.tistory.com/176)

을 넣었습니다. 서울 서체는 윈도우용 수동설치 파일을 다운로드 받았습니다.


그냥 이렇게 드래그해서 밀어넣으면 폰트추가 끝

이 외에도 이것저것 넣고 싶은게 많으면 그냥 다 넣으시면 됩니다.


이제 대망의 ISO 제작의 시간입니다.


파일 매니저를 닫고 ISO 다시 빌드 버튼을 누릅시다.


빌드중... 시간이 꽤 걸린다.

짜잔! 이제 완성되었습니다! 테스트 해봐야지요!

QEMU버튼을 누르면 QEMU로 테스트를 할 수 있습니다.


물론...시스템에 따라..

이 따위로 패닉이 날 수도 있는데 Qemu의 잘못이지 여러분의 잘못은 아닙니다. 이런경우에는 Qemu대신 Virtualbox를 사용하는 것을 추천합니다.


Virtualbox에 대한 자세한 내용은 넘어가도록 하고 Virtualbox에서 테스트를 해봤습니다. 최종적으로 만들어진 ISO는 /home 폴더에 있습니다. Virtualbox에서 가상머신에 넣을 이미지를 해당 ISO로 하시면 됩니다.



처음 써보는 물건이라 걸리는 것이 있기는 하지만 한글 출력과 한글 입력이 되기는 되는군요. fcitx가 약간 버그가 있는 것인지 조금은 특이하게 입력이 되는 것 같지만 일단 아무 문제 없이 입력이 되기는 합니다.


그리고 Epiphany를 대신해서 설치한 Firefox도 아무 문제 없이 한국어로 잘 실행되는군요.


참고로 sha1 sha256 md5가 모두 계산되어서 있으니 나중에 배포하실 때 같이 첨부해서 배포해주세요.


해당 ISO를 공유합니다.


https://drive.google.com/open?id=0B575ztEFv5-UdXJmb0NtOEpRVEU


MD5 :1fa3d2c692e3f3f6a735f13918c50535

SHA256 : 198b68cb4e1d1fb35ed2136aa16dfb451e18ff62e1b0e8a2b6b295f1b41e8cc8

SHA1 : ec7382f2744f2f02d0efb8e494eac35580e36412

커스텀 된 것은 위에서 한 그대로이므로 그냥 Elementary OS에 한글 입력기를 끼얹고 한글폰트를 추가 한 후 Firefox를 설치했다... 정도입니다.

,

NeptuniaRB1_Ko_Ep_ALL_171119.7z


훨씬더 개선된 패치는 이쪽으로...

http://schwarzer.tistory.com/21?category=802769




첨부된 파일은 Neptools(https://github.com/u3shit/neptools) 에다가 제가 약간 손을 댄 Hyperdimension Neptunia Re;birth1 파일을 넣은 한국어화 툴 킷입니다.



8장까지는 그럭저럭 번역을 했습니다만 이후로는 굳이 왜 하나 싶어서 버려둔 파일입니다.


현재 아이템 명과 이것저것 해 놓긴 했습니다. 몇몇 메시지에 대해서 그럭저럭 수준으로만 했습니다.


폰트 수정 계획 없습니다. 피드백이 없었기에 대사창 바탕체 그대로 갈 겁니다.


마음에 안 들면 아래에 설명을 했기에 본인들이 직접 하면 됩니다.


캐릭터 이름이 영문으로 나온다면 게임을 새로 시작하셔야 합니다. 세이브 파일에 캐릭터 이름이 기록되는 듯 합니다.


이 툴 킷은 스팀판에서만 확인했지만 GOG.com 판에서도 문제가 없다고 합니다. 개인적으로 스팀판은 문제가 많으므로 GOG.com에서 구매하셔야 편합니다.




이 게임이 출시된지도 좀 됐고 이제 슬슬 한국어 화 방법을 풀어도 될 것 같아서(이미지도 가능 하지만 그건 나중에 하고) 글을 올립니다.


일단 해당 압축 파일을 Neptunia re;birth1이 설치된 곳에 풀어버리면 한국어화 준비는 끝입니다. 일단 일본어 폰트의 일부를 한글 1023자로 교체했고(폰트가 좀 더럽습니다.) txt파일을 한국 로케일에서 읽기 쉽게 utf8로 저장했습니다.


~~.txt.utf 라는 형태로 되어있는 파일이 UTF8 형태로 저장된 파일입니다.

이 파일을 수정하고

~~.txt.utf.ko

라는 파일 이름으로 저장하면 번역작업은 끝이납니다.

그리고 준비된 to_cp932_utf_ko.py 스크립트를 실행하면 번역된 txt파일이 만들어 집니다.


그러니까... Neptools/SYSTEM/database 폴더의 경우



파일명에 .utf로 끝나는 파일을 연 뒤에(.txt 아닙니다! 이건 나중에 바뀔 파일!)



영문을 한국어로 번역하고



파일-다른 이름으로 저장을 누른 다음 ~~.ko를 붙입니다. (아래 로케일에 UTF-8주목!)



그리고 아래 to_cp932_txt_ko.py 파이썬 스크립트를 실행하면 번역된 문장이 게임에서 나오게 될 겁니다.


대사가 저장된 곳인 /GAME/event/script의 경우에는 각 숫자로 된 폴더안에 파일을 위랑 똑같이 작업한 다음(.utf 파일 열고 수정한 뒤에 utf 뒤에 .ko를 붙여서 저장)

위 이미지에 있는 to_cp932_txt_ko.py 파이썬 스크립트를 실행하시면 됩니다.


옆에 있는 곁다리 스크립트는 제가 사용한 것인데 뜯어보시려면 뜯어보세요. 좀 더럽긴 합니다만....


일단 이렇게 툴킷을 공개합니다. 재미삼아 이렇게 할 수 있구나 하실 수 있을 겁니다. 특히 to_cp932_txt_ko.py  이 스크립트를 자세히 보시면 한글을 한자로 바꾸는 것을 알 수 있는데 사실 폰트 파일의 일부를 원래 일본어 한자의 글자를 한글 폰트로 대체한 것이기 때문입니다.


,