半条命2 CM2013 自带中文,但我尝试了调整注册表的方法,没能把它中文化。
遂直接写了几行代码,直接把schinese语言文件直接覆盖掉原本的english语言文件,从而实现中文化。
所以这只是一个虚假的汉化工具
python 语言写的
把变量 game_root_dir 改为你的CM2013游戏根目录
启动该脚本,然后执行,会输出将会替换文件的列表,
确认无误后,按下y键执行替换,
原来的文件会加上.bak后缀,作为备份。
import os, glob, shutil
print('''
CM2013中文化工具
把变量 game_root_dir 改为你的CM2013游戏根目录
启动该脚本,然后执行,会输出将会替换文件的列表,
确认无误后,按下y键执行替换,
原来的文件会加上.bak后缀,作为备份。
''')
# 游戏根目录
game_root_dir = r'J:\CM2013'
# 要被覆盖的语言
target_language = 'english'
# 使用的语言
source_language = 'schinese'
dst_list = []
src_list = []
for file in glob.glob(f'{game_root_dir}/**/*_{source_language}.*', recursive=True):
src_list.append(file)
file.rfind(source_language)
# 只从右边替换一次
a, b = file.rsplit(source_language, 1)
dst_file = a + target_language + b
dst_list.append(dst_file)
for a, b in zip(dst_list, src_list):
print(f'{a} <- {b}')
print('是否执行以上替换,原文件将会加上.bak后缀,确认执行请输入y')
answer = input()
if answer == 'y':
print('替换中')
for a, b in zip(dst_list, src_list):
if os.path.exists(a):
dst_a = a + '.bak'
shutil.move(a, dst_a)
shutil.move(b, a)
print('替换完成')
else:
print('已取消')