ejoneco's devlog

ejo090がなんかやったときにまとめるブログ

Linux版SteamのCiv5 DLCも日本語にした

先日、 Linux版のSteamでCiv5を日本語環境で動かした暫定メモ で書いた通り Civ5 を Linux でも日本語でプレイできるようにしたが、 DLC はやってなかったのでやった

まず DLC を持ってくる

civ5 ディレクトリを適当に作って、その中で

1
mkdir dlc_01 dlc_02 dlc_03 dlc_04 dlc_05 dlc_06 dlc_07 dlc_deluxe expansion expansion2 shared

とかをする。

次に Windows の Steam ディレクトリから DLC の言語ファイル各種を持ってくる。
大体 DLC/DLC_*/Gameplay/XML/Text/ みたいな感じなところにある JA_JP ディレクトリをなんかこういい感じに持ってくる。
各々の DLC ディレクトリにいい感じに置いておく。
下記みたいな感じにする。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

➜ civ5 tree -d
.
├── dlc_01
│   └── JA_JP
│   └── LeaderDialog
├── dlc_02
│   └── JA_JP
│   └── LeaderDialog
├── dlc_03
│   └── JA_JP
│   └── LeaderDialog
├── dlc_04
│   └── JA_JP
│   └── LeaderDialog
├── dlc_05
│   └── JA_JP
│   └── LeaderDialog
├── dlc_06
│   └── JA_JP
├── dlc_07
│   └── JA_JP
├── dlc_deluxe
│   └── JA_JP
│   └── LeaderDialog
├── expansion
│   └── JA_JP
│   └── LeaderDialog
├── expansion2
│   └── JA_JP
│   └── LeaderDialog
└── shared
└── JA_JP

そうしたら下記みたいなシェルスクリプトかなんかを書いて en_us のほげほげをつくる。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/sh

find . -maxdepth 2 -type d | while read DIR
do
WORKDIR=`dirname ${DIR}`
JP=`basename ${DIR}`
if [ ${JP} = "JA_JP" ] ; then
cp -r ${WORKDIR}/${JP} ${WORKDIR}/en_us
#rename 'y/A-Z/a-z/' ${WORKDIR}/en_us/
find ${WORKDIR}/en_us -type d | xargs rename 'y/A-Z/a-z/'
find ${WORKDIR}/en_us -type f | xargs rename 'y/A-Z/a-z/'
find ${WORKDIR}/en_us/ -type f | xargs sed -i "s/Language_JA_JP/Language_en_US/g"
fi
done

とりあえずこれであとは適当にコピーするだけでいい(コピーもスクリプトでやりたかったけど Permission Denied で怒られまくったので断念)

コピー先のディレクトリは Steam/steamapps/common/Sid Meier's Civilization V/steamassets/assets/dlc とかの各々の DLC のディレクトリにぽいっと。

そして起動

Imgur
Imgur

やったぜ。

反省点

  • まぁなんかこうスマートに行きたいよね
  • 気力があったらがんばる

Proudly powered by Hexo and Theme by Hacker
© 2019 ejo090